File类是唯一一个与文件本身有关的操作类。
1、File对象的生成:3个构造方法
File(String directoryPath);
File(String directoryPath,String fileName);
File(File dirObj;String fileName);
例如:File f1 = new File("/");
File f2 = new File("/","abc.txt");
File f3 = new File(f1,"abc.txt");
注:
directoryPath:文件的路径名
fileName:文件名
dirObj:指定目录的File对象
2、File类分隔符问题:
在Windows之中路径的分隔符使用"\",而在Linux中分隔符使用"/",而现在java程序如果想要让其具备可移植性,就必须考虑分隔符问题,所以File类提供了一个常量:public static final String separator。
File f1 = new File("c:"+File.separator+"abc.txt");
3、File常用方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package cn.com.file;
import java.io.File;
import java.io.IOException;
/**
* FileDemo
*@author:hushaoyu
*2017-2-15下午12:29:39
*@描述:file类运用
*/
public class FileDemo {
public static void main(String[] args) throws IOException {
//根据构造方法创建File对象,路径E盘,文件名hello.txt
File f1 = new File("E:"+File.separator+"HelloFile.txt");
if (f1.exists()) {
f1.delete();
}else {
f1.createNewFile();
}
//getName()方法,取得文件名
System.out.println("文件名:"+f1.getName());
//getPath()方法,取得文件名路径
System.out.println("文件名路径"+f1.getPath());
//getA()方法,取得文件名绝对路径
System.out.println("文件名绝对路径"+f1.getAbsolutePath());
//getParent(),取得父文件夹名
System.out.println("父文件夹名"+f1.getParent());
System.out.println(f1.exists()?"文件存在":"文件不存在");
System.out.println(f1.canWrite()?"文件可写":"文件不可写");
System.out.println(f1.canRead()?"文件可读":"文件不可读");
System.out.println(f1.isDirectory()?"是":"不是"+"目录");
System.out.println(f1.isFile()?"是文件":"不是文件");
System.out.println(f1.isAbsolute()?"是绝对路径":"不是绝对路径");
System.out.println("最后修改时间"+f1.lastModified());
System.out.println("文件大小"+f1.length());
System.out.println();
/**结果输出:
文件名:HelloFile.txt
文件名路径E:\HelloFile.txt
文件名绝对路径E:\HelloFile.txt
父文件夹名E:\
文件存在
文件可写
文件可读
不是目录
是文件
是绝对路径
最后修改时间1487139283879
文件大小0
*/
}
}
4、创建目录文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package cn.com.file;
import java.io.File;
import java.io.IOException;
import com.sun.org.apache.bcel.internal.generic.F2D;
/**
* FileDemo
*@author:hushaoyu
*2017-2-15下午12:29:39
*@描述:file类运用
*/
public class FileMakeDirs {
public static void main(String[] args) throws IOException {
//根据构造方法创建File对象,路径E盘,文件名hello.txt
File f1 = new File("E:"+File.separator+"makedir"+File.separator+"makeFile.txt");
if(!f1.getParentFile().exists()){ //父路径不存在
f1.getParentFile().mkdir(); //创建目录
}
f1.createNewFile(); //创建文件
System.out.println("目录文件名(类型File)"+f1.getParentFile()); //返回类型File
System.out.println("目录文件名(类型String)"+f1.getParent()); ////返回类型String
System.out.println("文件名路径"+f1.getPath());
/**输出结果:
目录文件名(类型File)E:\makedir
目录文件名(类型String)E:\makedir
文件名路径E:\makedir\makeFile.txt
*/
}
}
大家都学习辛苦了,加油!继续努力!
微信号858568103,可以领到资料,也可以帮忙解决问题,希望能真正的帮到你,让学习更加轻松!