当先锋百科网

首页 1 2 3 4 5 6 7

在Java中,数据的传输方式有两种:字符流和字节流。

字符流

字符流以字符为单位进行传输,每个字符占用两个字节。Java字符流包括Reader和Writer两个抽象类及其子类。

// 示例:使用字符流读取文件内容
File file = new File("test.txt");
try (Reader reader = new FileReader(file)) {
char[] buf = new char[1024];
int len = -1;
while ((len = reader.read(buf)) != -1) {
System.out.println(new String(buf, 0, len));
}
} catch (IOException e) {
e.printStackTrace();
}

在示例中,我们使用了FileReader类读取文件内容,并通过char数组进行缓冲处理。

字节流

字节流以字节为单位进行传输,一次读取一个字节。Java字节流包括InputStream和OutputStream两个抽象类及其子类。

// 示例:使用字节流写入文件内容
File file = new File("test.txt");
try (OutputStream out = new FileOutputStream(file)) {
String s = "Hello, Java!";
out.write(s.getBytes());
} catch (IOException e) {
e.printStackTrace();
}

在示例中,我们使用了FileOutputStream类将字符串写入文件,并通过getBytes()方法将字符串转换为字节数组。

总结

字符流和字节流各有各的长处,开发者应根据具体的场景来选择使用哪种方式。