
java如何保存读到的txt文件
想要用Java程序读取txt文件中的文本内容,应该使用哪些类和方法?
Java读取txt文件的常用方法
可以使用Java的FileReader结合BufferedReader来逐行读取txt文件内容。FileReader负责读取字符流,BufferedReader提供缓冲区用于高效读取。示例代码如下:
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
如果通过Java程序读取了一个txt文件的内容,想将这些内容保存到新文件中,应该怎样操作?
使用FileWriter保存处理后的txt内容
可以在读取文件时,将内容写入另一个文件。FileWriter类适合写入字符流。结合BufferedWriter可以提高写入效率。示例流程:读取txt文件 -> 处理或直接写入 -> 关闭流。示例代码:
try (BufferedReader br = new BufferedReader(new FileReader("source.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("destination.txt"))) {
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
在Java中读写txt文件时,如何保证文件的编码不会导致中文乱码或者数据丢失?
指定字符编码避免乱码问题
默认的FileReader和FileWriter不支持指定编码,为了避免乱码,可以使用InputStreamReader和OutputStreamWriter并明确设置编码格式(如UTF-8)。例如:
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("file.txt"), "UTF-8"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("file_out.txt"), "UTF-8"))) {
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}