用来将文件或者文件夹封装成对象
方便对文件与文件夹的属性信息进行操作。
File对象可以作为参数传递给流的构造函数。
File类常见方法:
1,创建。
boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,输出流对象一建立创建文件。而且文件已经存在,会覆盖。
import java.io.File;
import java.io.IOException;
public class FileSimpleDemo {
public static void main(String[] args) throws IOException {
File file=new File("file_create.txt");
boolean filebl=file.createNewFile();
//System.out.println(filebl);
}
}
2,删除。
boolean delete():删除失败返回false。
import java.io.File;
import java.io.IOException;
public class FileSimpleDemo {
public static void main(String[] args) throws IOException {
File file=new File("file_create.txt");
boolean filebl=file.delete();
System.out.println(filebl);
}
}
void deleteOnE系统():在程序退出时删除指定文件。
import java.io.File;
import java.io.IOException;
public class FileSimpleDemo {
public static void main(String[] args) throws IOException {
File file = new File("file_create.txt");
file.deleteOnExit();
//在程序出现异常或者错误的时候程序会停止运行那么在末尾delete()方法不会执行。
//deleteOnExit()方法是程序退出时删除。
}
}
将一个文件夹内的文件夹与文件信息读取并写入一个文本文件中。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileDemo {
//查找文件,如果是文件夹就进到文件夹中读取文家名称,用递归法。
public static void FileFound(File file) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
//如果是文件夹就进入到文件夹中读取文件,递归法。
if (files[i].isDirectory()){
System.out.println(files[i]+":文件夹");
FileFound(files[i]);
}
else {
// System.out.println("文件:" + files[i]);
BufW(files[i]);
}
}
}
public static void BufW(File file) {
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter("demo_file_bufw.txt", true));
bw.write(file.getAbsolutePath());
bw.newLine();
bw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
File ff = new File("E:\\TDDOWNLOAD");
FileFound(ff);
}
}