大家好
欢迎回来继续学习
Java语言程序设计
这一节我们来学习File类
File是什么呢
在这个File类中
存储一些与文件相关的信息
并且提供了管理文件的一些操作
File类提供了
创建删除文件的功能
还有重新命名文件
以及判断文件的读写权限
判断文件是否存在
还有就是可以设置
和查询文件最新修改时间
我们在构造文件流的时候
还可以使用File类的对象
作为参数
接下来我们就通过一个例题
看一下怎么使用这个File类
现在我们就来尝试
用File里面提供的方法
来对文件进行操作
首先我们创建一个
Hello.txt的文件
那么创建之前判断一下
如果这个文件
同名文件已经存在了
那么我们就采用
删除旧文件的方法
不存在就直接创建新的
当然这个直接删除旧文件
大家也会觉得
那不是也没什么效果吗
我们简单做一个演示
大家也可以回去
修改补充一下这个程序
不要说文件存在你就直接删除
如果文件存在的话
你给个信息问一下用户
这个文件存在要删除吗
然后你再决定是删除
还是请用户输入新文件名
好
现在我们就用
这个特别简单的逻辑
来看一下File是怎么用的
现在我们用这个文件名Hello.txt
这个字符串来构造一个File对象
File不是文件
它是用来存放和处理
存放文件信息处理文件的
那么我们就可以
调用它的exsist方法
判断这个文件是否存在
如果文件存在呢
就调用delete方法删除它
好
那么文件如果不存在
那就直接创建文件
调用creatNewFile
这样就创建了一个空文件
那这个过程中有可能产生异常的
所以也要放在try里面
后面有catch来捕获异常
我们运行这个程序的时候
由于在以前的例子中已经创建过Hello.txt这个文件了
所以第一次运行
就是删除了这个文件
然后我们再次运行这个程序
又创建了一个
同名的这样的空文件
实际上在我们试图打开文件之前
都可以使用
这个File类的isFile方法
来确定这个File对象
它代表的是否是一个文件
也许它代表一个目录呢
因为File类的对象
既可以表示一个文件
也可以用它来存放
目录信息表示一个目录
那还有就是用exsits方法来判断
文件是不是存在
或者这个目录的路径是不是存在
然后接下来下一步
好采取正确的操作
我们在前面的部分
曾经学过怎么样去复制一个文件
但是当时大家有没有点疑问呢
我将一个文件复制
到目标文件中去
那么那个目标文件
原来是不是会有同名文件存在呢
如果已经有同名文件存在了
我就直接拿这个名字
作为目标文件名去复制
那会不会把原来的文件冲掉了呢
那么这个复制的源
是不是存在呢
你拿它当源去做复制
如果说用户给的文件名给错了
这个文件不存在
那又会发生什么呢
那不就发生异常了吗
现在我们对这个
复制文件的功能做一点点改进
在复制之前先判断一下
相关的文件名它是否
已经对应着有文件存在了
这里就要用到File
现在我们就可以来改进一下
刚才的文件复制程序了
不要总是等到要打开的文件
找不到才去让系统的方法
去自动抛出异常
然后我们再去捕获异常
这样后处理
可以事先就判断
用这个exsist方法就可以判断
你要打开的文件存在不存在
当文件都存在的情况下
我们再来打开
否则给用户一个提示说退出
或者是让他重新输入都可以
在文件存在的情况下
打开文件构造输入流输出流
然后进行复制
这个跟刚才例子中都是一样的了
这一节我们学习了
用来表示文件信息
和对文件进行管理的File类
这一节内容就是这些