File类的方法
所有的方法都是我通过别人的博客来了解的.
而所有结果都是我自己试验出来的,若有不对的地方,欢迎大家来指正.
File本身不进行任何文件操作,它只是表示一个文件.
构造方法:
1:File file1 = new File("D:\\test\\abc.txt");
2:File file2 = new File("D:\\test", "abc.txt");
3:File file3 = new File(new File("D:\\tes\\"),"abc.txt");
在构造的时候File并不会自己去判断指定目录是否存在
比如System.out.println(file1);
不管指向的目录是否存在都会输出D:\test\abc.txt
创建文件方法:
File file = new File("D:\\test\\abc.txt")
file1.createNewFile();
则处理的结果如下
if(指定的目录存在)
if(abc.txt文件不存在)
在指定目录下创建abc.txt
else
不做操作
else
抛出异常,指定的目录不存在
File.isDirectory()方法:
此方法返回一个boolean的值
若File指向一个目录而不是一个文件,则返回true,否则返回false
举例1:
File file = new File("D:\\test\\abc.txt");
则无论D:/test/abc.txt存在不存在,都会返回false
举例2:
File file = new File("D:\\test\\")
则file.isDirectory()结果为:
if(D:\\test\\这个目录是存在的)
返回trure;
else
返回false;
File.separator():
在windows中为\\
在linux中为//
File.delete()删除方法:
if(File表示的文件存在并且成功删除)
return true;
else
return false;
File.exists()判断目录是否存在方法:
if(File指向的目录存在)
return true;
else
return false;
File.getParent()返回File指定路径的父路径方法:
例子:System.out.println(new File("D:\\test\\abc.txt").getParent());
那么不管File指向的路径D:/test/abc.txt是否存在均会输出D:\test
getParent只负责输出父目录,不会判断目录存在与否.
若不存在父目录.则会返回null.
File.list()返回一个字符串list表示指向目录下的所有文件和目录(即文件夹):
File file = new File("D:\\test\\");
String str[] = file.list();
for(int i=0;i<str.length;i++)
System.out.println(str[i]);
要注意当file指向的目录D:\test\不存在或者D:\test\下没有任何的文件或目录(即文件夹)时候
file.list会返回null
则此时字符串数组str为null,则会抛出空指针异常
File.listFiles()返回的是File数组:
File file1 = new File("D\\test\\");
File[] file = file1.listFiles();
for(int i=0;i<file.length();i++)
System.out.println(file[i]);
注意的地方File.list()相同.
好了就写到这把,欢迎有问题的同学留言.