使用FileReader和FileWriter可以实现文本数据的读取和写出操作。
代码如下:
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileReadWriteExample {
public static void main(String[] args) {
try {
// 读取文件
FileReader reader = new FileReader("input.txt");
int data;
while ((data = reader.read()) != -1) {
System.out.print((char) data);
}
reader.close();
// 写出文件
FileWriter writer = new FileWriter("output.txt");
writer.write("这是要写入的文本数据。");
writer.close();
System.out.println("文件读取和写出操作完成。");
} catch (IOException e) {
e.printStackTrace();
}
}
}
转换流用于在字节流和字符流之间进行转换,可以处理不同字符集编码的数据。常用的转换流包括InputStreamReader和OutputStreamWriter。
代码如下:
import java.io.*;
public class CharsetConversionExample {
public static void main(String[] args) {
try {
// 使用InputStreamReader读取UTF-8编码的文本文件
FileInputStream fis = new FileInputStream("input.txt");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader reader = new BufferedReader(isr);
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
// 使用OutputStreamWriter写出UTF-8编码的文本文件
FileOutputStream fos = new FileOutputStream("output.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter writer = new BufferedWriter(osw);
writer.write("这是要写入的文本数据。");
writer.newLine();
writer.close();
System.out.println("字符集转换和写出操作完成。");
} catch (IOException e) {
e.printStackTrace();
}
}
}