转:https://www.runoob.com/java/java-examples.html
Java实例——Java文件操作
1、文件写入
writer()方法写入会覆盖文件本身内容
//文件写入——字符流
try {
BufferedWriter out =new BufferedWriter(new FileWriter("D:\\work\\aaa.txt"));
out.write("写入字符!");
out.append("aaaaa");
out.newLine();//换行
out.write("你好!");
out.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
执行结果:D:\\work\\aaa.tx
写入字符!aaaaa
你好!
2、读取文件内容
readLine()——读取一行
//读取文件——字符流
try {
BufferedReader in =new BufferedReader(new FileReader("D:\\work\\aaa.txt"));
while(in.ready()) {
System.out.println(new StringBuffer(in.readLine()));
}
in.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
执行结果:
写入字符!aaaaa
你好!
3、删除文件
file.delete()——删除文件
//删除文件
File file =new File("D:\\work\\aaa.txt");
if(file.delete()){
System.out.println(file.getName() + " 文件已被删除!");
}else{//文件不存在
System.out.println("文件删除失败!");
}
4、将文件内容复制到另一个文件
//将文件内容复制到另一个文件
File f1 =new File("D:\\work\\aaa.txt");
File f2 =new File("D:\\work\\bbb.txt");
try {
FileInputStream is =new FileInputStream(f1);//输入流
FileOutputStream os =new FileOutputStream(f2);//输出流
byte[] b =new byte[1024];
int len;
try {
while((len =is.read(b))>0) {
os.write(b, 0, len);//写入内容
}
is.close();
os.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
5、向文件追加数据
new FileWrite()
//文件写入——字符流
try {
BufferedWriter out =new BufferedWriter(new FileWriter("D:\\work\\aaa.txt"));
out.write("写入字符!");
out.append("aaaaa");
out.newLine();
out.write("你好!");
out.close();
out =new BufferedWriter(new FileWriter("D:\\work\\aaa.txt",true));
out.write("第二次!yeal!");
out.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
执行结果:
写入字符!aaaaa
你好!第二次!yeal!
6、创建临时文件
createTempFile()——创建文件
//1\创建临时文件
File f1 =File.createTempFile("temp", ".txt",new File("D:/work"));
//2\输出绝对路径
System.out.println("文件路径: "+f1.getAbsolutePath());
//3\终止后删除临时文件
f1.deleteOnExit();
BufferedWriter out =new BufferedWriter(new FileWriter(f1));
out.write("写入字符!");//文件里没有写入
System.out.println("临时文件已创建!");
out.close();
7、修改文件的最后修改日期
使用setLastModified()中的时间,获取最后修改日期lastModified()
//修改文件最后的修改日期
File f1 =new File("D:/work/ccc.txt");
f1.createNewFile();
Date d1 =new Date(f1.lastModified());//设置日期
System.out.println(d1.toString());
System.out.println(f1.setLastModified(System.currentTimeMillis()));//修改日期为当前时间
d1 =new Date(f1.lastModified());
System.out.println(d1.toString());
执行结果:
Tue Aug 20 09:14:11 CST 2019
true
Tue Aug 20 09:17:14 CST 2019
8、获取文件大小
file.exists()——文件是否存在
file.length()——文件长度
//获取文件大小
File f1 =new File("D:/work/aaa.txt");
if(f1.exists()) {
System.out.println("文件的大小:"+f1.length());
}
执行结果:
文件的大小:37
9、文件重命名
file.rename(newName)——文件重命名
10、设置文件只读
file.setReadOnly()——只读
11、检测文件是否存在
file.exists()——文件是否存在
12、在指定目录中创建文件
createTempFile()——创建指定路径文件
//在指定目录中创建文件
File f1 =new File("D:/work/");
File f2 =null;
f2 =File.createTempFile("test", ".txt",f1);
System.out.print(f2.getAbsoluteFile());
执行结果:
D:\work\test248734909113988761.txt
13、获取文件修改时间
file.lastModified()——获取文件最后修改时间
14、创建文件
file.createNewFile()——返回boolean值;文件不存在创建文件
15、文件路径比较
file1.compareTo(file2)——比较路径
File f1 =new File("D:/work/ddd.txt");
File f2 =new File("D:/work/aaa.txt");
f1.createNewFile();
System.out.print(f1.compareTo(f2));
执行结果:
3 //在第三级路径的时候文件路径不一样