68-java字符流和字节流
Java中的字符流和字节流是用于处理输入/输出的两大类。字符流主要用于处理字符数据,而字节流可以处理任何类型的数据。
字符流:
-
Reader
:用于读取字符流的抽象类。 -
Writer
:用于写入字符流的抽象类。
字节流:
-
InputStream
:用于读取字节流的抽象类。 -
OutputStream
:用于写入字节流的抽象类。
下面是使用字符流和字节流的简单示例:
字符流示例(文件复制):
import java.io.*;
public class CharStreamExample {
public static void main(String[] args) {
try (Reader reader = new FileReader("input.txt");
Writer writer = new FileWriter("output.txt")) {
int charRead;
while ((charRead = reader.read()) != -1) {
writer.write(charRead);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
字节流示例(文件复制)
import java.io.*;
public class ByteStreamExample {
public static void main(String[] args) {
try (InputStream inputStream = new FileInputStream("input.txt");
OutputStream outputStream = new FileOutputStream("output.txt")) {
int byteRead;
while ((byteRead = inputStream.read()) != -1) {
outputStream.write(byteRead);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在实际应用中,你可以根据数据类型选择使用字符流还是字节流。如果你处理的是纯文本数据,推荐使用字符流,因为它能更简单地处理字符编码问题。如果你需要处理非文本的二进制数据,则应使用字节流。