面向字节输入输出流
时间: 2023-07-08 18:06:40 浏览: 209
面向字节的输入输出流是用于处理二进制数据的输入输出流。Java提供了两个主要的字节输入输出流类:InputStream和OutputStream。InputStream用于读取字节数据,OutputStream用于写入字节数据。
常见的字节输入输出流类有:
1. FileInputStream:用于从文件中读取字节数据。
2. FileOutputStream:用于将字节数据写入到文件中。
3. ByteArrayInputStream:用于从内存中的字节数组中读取数据。
4. ByteArrayOutputStream:用于将数据写入到内存中的字节数组中。
5. DataInputStream:用于读取基本数据类型和字符串等数据。
6. DataOutputStream:用于写入基本数据类型和字符串等数据。
使用字节输入输出流时,需要注意编码问题。字节流不会自动进行编码转换,因此在读取和写入数据时需要指定正确的字符集。
例如,可以使用以下代码将字符串写入到文件中:
```java
String str = "Hello, world!";
byte[] bytes = str.getBytes("UTF-8");
FileOutputStream fos = new FileOutputStream("output.txt");
fos.write(bytes);
fos.close();
```
此代码将字符串按照UTF-8编码转换为字节数组,并将字节数组写入到文件中。在读取文件时需要按照同样的编码方式进行解码。
阅读全文