Java函数中如何读取和写入文件
发布时间:2023-09-03 08:45:12
在Java中,可以使用java.io包中的类来进行文件的读取和写入操作。下面是一些常见的文件读取和写入方法的示例。
读取文件:
1. 使用BufferedReader类逐行读取文本文件:
try {
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
2. 使用Scanner类读取文件中的单词或数字:
try {
Scanner scanner = new Scanner(new File("file.txt"));
while (scanner.hasNext()) {
String word = scanner.next();
System.out.println(word);
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
写入文件:
1. 使用BufferedWriter类向文本文件写入内容:
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt"));
writer.write("Hello, world!");
writer.newLine();
writer.write("This is a test.");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
2. 使用PrintWriter类向文件中写入文本或格式化的输出:
try {
PrintWriter writer = new PrintWriter("file.txt");
writer.println("Hello, world!");
writer.printf("Value: %.2f", 3.14159);
writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
对于二进制文件(如图片、音频等),可以使用FileInputStream和FileOutputStream来进行读取和写入操作。
读取二进制文件:
try {
FileInputStream inputStream = new FileInputStream("image.jpg");
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
// 处理读取的数据
}
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
写入二进制文件:
try {
FileOutputStream outputStream = new FileOutputStream("image.jpg");
byte[] data = {0, 1, 2, 3};
outputStream.write(data);
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
需要注意的是,在进行文件读取和写入操作时,需要处理可能出现的异常,如FileNotFoundException和IOException等。同时,最好在读取或写入完成后关闭文件流,以释放系统资源。
