如何在Java函数中实现文件读写功能?
发布时间:2023-09-04 09:00:41
在Java中,可以使用标准库中的输入输出流来实现文件的读写功能。下面是一个示例代码,展示了如何在Java函数中实现文件的读写功能。
import java.io.*;
public class FileReadWrite {
public static void main(String[] args) {
try {
// 写入文件
writeToFile("file.txt", "Hello, World!");
// 从文件中读取内容
String content = readFromFile("file.txt");
System.out.println("Content: " + content);
} catch (IOException e) {
e.printStackTrace();
}
}
// 写入文件
public static void writeToFile(String fileName, String content) throws IOException {
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(fileName);
fileWriter.write(content);
} finally {
if (fileWriter != null) {
fileWriter.close();
}
}
}
// 从文件中读取内容
public static String readFromFile(String fileName) throws IOException {
FileReader fileReader = null;
try {
fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
return stringBuilder.toString();
} finally {
if (fileReader != null) {
fileReader.close();
}
}
}
}
上述代码示例了如何使用FileWriter类将内容写入文件,以及如何使用FileReader和BufferedReader类从文件中读取内容。在写入文件时,我们使用finally语句块来确保文件写入流的关闭,即使出现异常也能够正常关闭。同样地,在读取文件时,我们也使用了finally语句块来确保文件读取流的关闭。
此外,在实际开发中,为了更好地管理资源,可以使用Java 7引入的try-with-resources语句来简化代码。使用try-with-resources语句后,不需要显式地关闭流,系统会自动关闭资源。下面是使用try-with-resources语句改写的示例代码:
import java.io.*;
public class FileReadWrite {
public static void main(String[] args) {
try {
// 写入文件
writeToFile("file.txt", "Hello, World!");
// 从文件中读取内容
String content = readFromFile("file.txt");
System.out.println("Content: " + content);
} catch (IOException e) {
e.printStackTrace();
}
}
// 写入文件
public static void writeToFile(String fileName, String content) throws IOException {
try (FileWriter fileWriter = new FileWriter(fileName)) {
fileWriter.write(content);
}
}
// 从文件中读取内容
public static String readFromFile(String fileName) throws IOException {
try (FileReader fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader)) {
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
return stringBuilder.toString();
}
}
}
上述代码示例了如何使用try-with-resources语句简化代码,无需在finally语句块中显式地关闭流。
