1、创建文件
要使用Java创建文件,可以使用createNewFile()
方法。 此方法返回一个布尔值:如果成功创建了文件,则为true
,如果文件已经存在,则为false
。该方法需要包含在try ... catch
块中。因为如果发生错误(如果由于某种原因而无法创建文件),则会抛出IOException
:
例如:
import java.io.File; // 导入File
import java.io.IOException; // 导入IOException
public class CreateFile {
public static void main(String[] args) {
try {
File myObj = new File("filename.txt");
if (myObj.createNewFile()) {
System.out.println("File created: " + myObj.getName());
} else {
System.out.println("File already exists.");
}
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
要在特定目录中创建文件(需要权限),需要指定文件的路径,并使用双反斜杠转义“\
”字符(对于Windows)。在Mac和Linux上,只需编写路径即可,例如:/Users/cjavapy/filename.txt
例如:
File myObj = new File("C:\\Users\\cjavapy\\filename.txt");
2、写文件
写文件使用FileWriter
类及其write()
方法,将一些文本写入我们在上面的示例中创建的文件中。完成写入文件后,注意应使用close()
方法将其关闭。BufferedWriter
提供缓冲写入,提高写入效率,适用于大文件。PrintWriter
支持打印格式化文本(例如,println
)
1)使用 FileWriter
写文件
import java.io.FileWriter; // 导入FileWriter
import java.io.IOException; // 导入IOException
public class WriteToFile {
public static void main(String[] args) {
try {
FileWriter myWriter = new FileWriter("filename.txt");
myWriter.write("www.cjavapy.com");
myWriter.close();
System.out.println("Successfully");
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
2)使用 BufferedWriter 写文件
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("example.txt"))) {
writer.write("BufferedWriter写入的内容");
writer.newLine(); // 换行
writer.write("这是第二行");
System.out.println("文件已写入");
} catch (IOException e) {
e.printStackTrace();
}
}
}
3)文件追加写入
如果需要在现有文件末尾追加内容,可以使用 FileWriter
的构造函数传入 true
参数,或者使用 BufferedWriter
。
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (FileWriter writer = new FileWriter("example.txt", true)) {
writer.write("\n这是追加的内容");
System.out.println("内容已追加到文件");
} catch (IOException e) {
e.printStackTrace();
}
}
}
相关文档: