Java 文件操作
2021-03-11 本文已影响0人
西贝巴巴
package com.company;
import java.io.*;
import java.rmi.server.ExportException;
import java.util.Date;
/*
Java 文件写入、读取文件内容、删除文件、将文件内容复制到另一个文件、创建临时文件
修改文件最后的修改日期、获取文件大小、文件重命名、设置文件只读
*/
public class FileWriteTest {
public static void main(String[] args) throws Exception {
//文件写入
BufferedWriter out = new BufferedWriter(new FileWriter("da.txt"));
out.write("明天将会更加美好");
out.close();
System.out.println("文件创建和写入成功");
//读取文件内容
BufferedReader in = new BufferedReader(new FileReader("da.txt"));
String str;
while ((str = in.readLine()) != null) {
System.out.println("str:" + str);
}
System.out.println(str);
//文件删除
File file = new File("da.txt");
String filename = file.getName();
System.out.println("filename: " + filename);
boolean isDel = file.delete();
if (isDel) {
System.out.println("da.txt 存在 删除成功");
} else {
System.out.println("da.txt 不存在 删除失败");
}
//将文件内容复制到另一个文件
BufferedWriter writer1 = new BufferedWriter(new FileWriter("srcfile"));
writer1.write("string to be copied\n");
writer1.close();
InputStream in1 = new FileInputStream(new File("srcfile"));
OutputStream out2 = new FileOutputStream(new File("destnfile"));
byte[] buf = new byte[1024];
int len;
while ((len = in1.read(buf)) > 0) {
out2.write(buf, 0, len);
}
in1.close();
out2.close();
//srcfile 追加信息
writer1 = new BufferedWriter(new FileWriter("srcfile", true));
writer1.write("这是我新添加的");
writer1.close();
BufferedReader test2 = new BufferedReader(new FileReader("destnfile"));
String str2;
while ((str2 = test2.readLine()) != null) {
System.out.println("str2:" + str2);
}
in1.close();
BufferedReader test3 = new BufferedReader(new FileReader("srcfile"));
String str3;
while ((str3 = test3.readLine()) != null) {
System.out.println("str3:" + str3);
}
System.out.println("str3 null:" + str3);
//创建零时文件
File test4 = File.createTempFile("testrunoobtmp", ".txt");
String test4Add = test4.getAbsolutePath();
System.out.println("文件路径:" + test4Add);
test4.deleteOnExit();
//修改文件最后的修改日期
File test5 = new File("test5.txt");
test5.createNewFile();
Date filetime = new Date(test5.lastModified());
System.out.println("filetime:" + filetime.toString());
test5.setLastModified(System.currentTimeMillis());
filetime = new Date(test5.lastModified());
System.out.println("filetime new:" + filetime.toString());
//获取文件大小
if (!test5.exists() || !test5.isFile()) {
System.out.println("test5 文件不存在");
} else {
System.out.println("test5 文件存在");
}
long test5Len = test5.length();
System.out.println("test5Len:" + test5Len);
//文件重命名
File newFile = new File("test55.txt");
if (newFile.exists()) {
System.out.println("file exists");
} else {
if (test5.renameTo(newFile)) {
System.out.println("已重命名");
} else {
System.out.println("Error");
}
}
//设置文件只读
System.out.println(test5.setReadOnly());
System.out.println(test5.canWrite());
//在指定目录中创建文件
File dir = new File("da");
File test6 = File.createTempFile("test", ".txt", dir);
System.out.println(test6.getPath());
}
}