File类
1、 文件可认为是相关记录或放在一起的数据的集合。文件一般存放在存储介质上:硬盘、u盘、光盘、软盘、云盘等。(云管段)
2、 java.io.File 类是专门对文件进行操作的类。(只能对文件本身进行操作,不能对文件内容操作)
3、 File类是“文件和目录路径名的抽象表示”。而不是指文件的内容。
4、 File类定义了一些与平台无关的方法操作,如:创建、删除文件和重命名等。
5、 Java中目录被看成是一个特殊的文件。List()方法可以返回目录中所有的子目录和文件。
6、 在linux下路径分隔符为(/),而在windos中则是为(\),在java中可以正确的处理不同系统中的分隔符。
1. File类常用构造方法和属性
常用构造方法:
1.1 public File(Stringpathname)
以pathname为路径创建File对象,如果pathname是相对路径,则是相对于Java的系统属性user.dir中的路径。(对eclipse创建的java工程来说,就是该工程的根目录。)
属性:
1.2 public static finalString separator
存储了当前系统的名称分隔符
在 LINUX和Mac系统上,此字段的值为 /
;在 Windows 系统上,它为 \
.为了程序的跨平台特性,文件的路径应该用这个属性值来代表。
1.3 public static finalchar pathSeparator
存储了当前系统默认路径分割符号
Windows系统是 ;
; 即path环境变量中,不同的路径的分割符号。LINUX系统是::.
2.练习
在电脑D盘下创建一个文件为HelloWorld.txt文件,判断他是文件还是目录,再创建一个目录IOTest,;之后遍历IOTest这个目录下的文件.
import java.io.File;
import java.io.IOException;
public class IO1 {
public static void main(String[] args) {
File file = new File("I:" + File.separator + "HelloWorld.txt");
try {
System.out.println(file + "是否创建成功:" + file.createNewFile());
} catch (IOException e) {
e.printStackTrace();
}
if (file.isDirectory()) {
System.out.println(file.getAbsolutePath() + "是目录");
} else if (file.isFile()) {
System.out.println(file + "是文件");
}
File dir = new File("I:" + File.separator + "IOTest");
System.out.println(dir + "是否创建成功:" + dir.mkdir());
System.out.print(file + "文件重命名是否成功:");
System.out.println(file.renameTo(new File(dir.getAbsolutePath() + File.separator + file.getName())));
System.out.println("遍历目录:" + dir);
String[] files = dir.list();
for (String fileName : files) {
System.out.println(fileName);
}
}
}
先在D盘创建a.txt,b.txt,现在编写程序,删除test文件夹delete() 可以删除文件, 也可以删除文件夹(空文件夹)
package com.fs.Myfile;
import java.io.File;
public class Test1 {
public static void main(String[] args) {
File file1 = new File("D:\\test\\a.txt");
file1.delete();
System.out.println("test中的a文件是否存在:"+file1.exists());
File file2 = new File("D:\\test\\b.txt");
file2.delete();
System.out.println("test中的b文件是否存在:"+file2.exists());
File file3 = new File("D:\\test");
file3.delete();
System.out.println("test文件是否存在:"+file3.exists());
}
}
运行结果: