📅  最后修改于: 2023-12-03 14:42:56.966000             🧑  作者: Mango
在Java中,I/O操作通常分为字节流和字符流。其中字节流操作以字节为单位进行读/写,而字符流操作以字符为单位进行读/写。
字节流类通常以InputStream和OutputStream为基础。InputStream类提供了一系列方法,用于从输入流读取字节数据,而OutputStream类则提供了一系列方法,用于将字节数据写入输出流。
InputStream in = null;
try {
in = new FileInputStream("filename.txt");
int data = in.read();
while(data != -1){
// 对读取到的字节进行处理
data = in.read();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
in.close();
}
字符流类通常以Reader和Writer为基础。Reader类提供了一系列方法,用于从输入流读取字符数据,而Writer类则提供了一系列方法,用于将字符数据写入输出流。
Reader reader = null;
try {
reader = new FileReader("filename.txt");
int data = reader.read();
while(data != -1){
char ch = (char) data;
// 对读取到的字符进行处理
data = reader.read();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
reader.close();
}
字符流可以直接读写字符串,更方便操作数据。
Writer writer = null;
try {
writer = new FileWriter("filename.txt");
String str = "Hello World!";
writer.write(str);
} catch (IOException e) {
e.printStackTrace();
} finally {
writer.close();
}
Reader reader = null;
try {
reader = new FileReader("filename.txt");
char[] buffer = new char[128];
int length = reader.read(buffer);
String str = new String(buffer, 0, length);
// 处理读取到的字符串
} catch (IOException e) {
e.printStackTrace();
} finally {
reader.close();
}
在操作文本文件时,使用字符流类可以更轻松地进行读写操作。