提示信息

Java字节流的使用

淡淡浅香 已关注

Java字节流是一种用于处理二进制数据的流。它可以从一个数据源读取字节并写入到另一个数据源。

Java字节流包括输入字节流和输出字节流。输入字节流用于从数据源中读取字节,输出字节流用于将字节写入目标数据源。

常见的Java字节流类有InputStream和OutputStream。可以使用这些类的子类来读取和写入字节数据。

下面是一些常用的Java字节流的使用示例:

  1. FileInputStream和FileOutputStream类:用于读取和写入文件中的字节数据。
  1. // 使用FileInputStream读取文件中的字节数据
  2. InputStream fileInput = new FileInputStream("input.txt");
  3. int byteData;
  4. while ((byteData = fileInput.read()) != -1) {
  5. System.out.print((char)byteData);
  6. }
  7. fileInput.close();
  8. // 使用FileOutputStream写入字节数据到文件
  9. OutputStream fileOutput = new FileOutputStream("output.txt");
  10. String data = "Hello, World!";
  11. fileOutput.write(data.getBytes());
  12. fileOutput.close();
  1. ByteArrayInputStream和ByteArrayOutputStream类:用于在内存中读取和写入字节数据。
  1. // 使用ByteArrayInputStream读取字节数组中的数据
  2. byte[] byteData = {72, 101, 108, 108, 111};
  3. InputStream byteArrayInput = new ByteArrayInputStream(byteData);
  4. int byteValue;
  5. while ((byteValue = byteArrayInput.read()) != -1) {
  6. System.out.print((char)byteValue);
  7. }
  8. byteArrayInput.close();
  9. // 使用ByteArrayOutputStream将字节数据写入字节数组
  10. OutputStream byteArrayOutput = new ByteArrayOutputStream();
  11. String data = "Hello";
  12. byteArrayOutput.write(data.getBytes());
  13. byte[] result = byteArrayOutput.toByteArray();
  14. byteArrayOutput.close();
  1. BufferedInputStream和BufferedOutputStream类:用于提供缓冲功能,加快字节流的读取和写入速度。
  1. // 使用BufferedInputStream读取文件中的字节数据
  2. InputStream bufferedInput = new BufferedInputStream(new FileInputStream("input.txt"));
  3. int byteData;
  4. while ((byteData = bufferedInput.read()) != -1) {
  5. System.out.print((char)byteData);
  6. }
  7. bufferedInput.close();
  8. // 使用BufferedOutputStream写入字节数据到文件
  9. OutputStream bufferedOutput = new BufferedOutputStream(new FileOutputStream("output.txt"));
  10. String data = "Hello, World!";
  11. bufferedOutput.write(data.getBytes());
  12. bufferedOutput.close();

这些例子展示了Java字节流的基本使用方法。通过使用不同的字节流类和它们的方法,可以实现对二进制数据的读取和写入操作。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
淡淡浅香 关注 已关注

最近一次登录:2023-10-09 13:14:14   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图