Java:字节流读写文件

针对文件的读写,JDK专门提供了两个类,分别是 FileInputStreamFileOutputStream ,它们都是InputStream 的子类。

  • Example01:以字节流形式读取文件中的数据
  • Example02:将数据以字节流形式写入文件(覆盖文件内容)
  • Example03:将数据以字节流形式写入文件(追加文件内容)

1.FileInputStream 是操作文件的字节输入流,专门用于读取文件中的数据。

public class Example01 {public static void main(String[] args) throws IOException  {FileInputStream in = new FileInputStream("Example1.txt");int b = 0;while(true) {b = in.read();if(b == -1) {break;}System.out.println(b);}in.close();  }
}

注意:首先要确保文件 Example1.txt 存在并且可读,否则会抛出文件找不到的异常 FileNotFoundException

2.FileOutputStream 是操作文件的字节输出流,专门用于把数据写入文件。

public class Example02 {public static void main(String[] args) throws IOException {//创建一个文件字节输出流FileOutputStream out = new FileOutputStream("Example2.txt");String str = "****写入数据****";byte[] b = str.getBytes();for(int i=0; i<b.length; i++) {out.write(b[i]);}out.close();}
}

注意:程序运行后,会自动生成一个新的文本文件 Example2.txt 。如果 Example2.txt 已经存在数据,那么该文件中的数据会先被清空,再写入新的数据。

3.FileOutputStream 的构造函数 FileOutputStream(String fileName,boolean append) ,用于把数据追加写入文件。

public class Example03 {public static void main(String[] args) throws IOException {      FileOutputStream out = new FileOutputStream("Example2.txt", true);       String str = "----追加数据----";     byte[] b = str.getBytes();for(int i=0; i<b.length; i++) {out.write(b[i]);}out.close();}
}

注意:程序通过字节输出流对象向文件 Example2.txt 追加了数据。

由于IO流在进行数据读写操作时会出现异常,如果一旦遇到异常,IO流的 close() 方法将无法得到执行,流对象所占有的系统资源将得不到释放,因此,为了保证IO流的 close() 方法必须执行,通常将关闭流的操作写在 finally 代码块中。

finally{try{if(in != null)in.close();}catch(Exception e){e.printStackTrace();}try{if(out != null)out.close();}catch(Exception e){e.printStackTrace();}
}

希望能够帮助到大家! Java:字节数组和字符串的相互转化

Java 字节流读写文件相关推荐

  1. JAVA字节流(读写文件)

    InputStream 此抽象类是表示字节输入流的所有类的超类.需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法. int available() 返回此输入流方 ...

  2. Java入门学习第十七天——字节流读写文件、字节缓冲流拷贝文件

    字节流读写文件 字节流拷贝文件-按单个字节读写 FileInputStream:普通的字节输入流,用来读取数据的 构造方法: ​ public FileInputStream(String pathn ...

  3. Java常用工具_IO流_字节流读写文件

    字节流读写文件 字节流拷贝文件 - 按单个字节读写 创建字节流读文件对象 InputStream is = new FileInputStream("Desktop.jpg"); ...

  4. 字节流读写文件案例——模拟文件(头像)上传功能

    字节流读写文件案例--模拟文件(头像)上传功能 需求:使用控制台输出模拟实际开发中上传用户头像的功能 需要定义单个方法 1.在控制台录入用户头像的路径 2.解析路径字符串中文件名是否合法:后缀名为:. ...

  5. 字节流(InputStream和OutputStream),字节流读写文件,字节流的缓冲区,字节缓冲流

    字节流 抽象类InputStream和OutputStream是字节流的顶级父类 所有的字节输入流都继承自InputStream,所有的输出流都继承子OutputStream InputStream的 ...

  6. 第32天学习打卡(字符流读写文件,字节流读写文件)

    字符流读写文件 创建字符流读文件对象: BufferedReader br = new BufferedReader(new FileReader("readme.txt")); ...

  7. java(IO)读写文件乱码转换UTF-8问题

    java(IO)读写文件乱码转换UTF-8问题 读取文件String Content = ""; // 文件很长的话建议使用StringBuffertry {FileInputSt ...

  8. java IO读写文件详细介绍

    java IO读写是常用的操作,需要每个java操作者做到熟知,掌握 //这些调用是可以统一用java.io.*,为了方便查看用了哪些类,故全部列出,哎我真是一个暖男 import java.io.B ...

  9. java字节流读取文件_字节流读取文件 java的几种IO流读取文件方式

    java字节流怎么读取数据 字节流读取数据例子如下: import java.io.File;import java.io.FileInputStream;import java.io.FileNot ...

最新文章

  1. java regex
  2. springmvc框架介绍_Java修行第071天 ---SpringMVC(上)
  3. goland os.Open 路径错误
  4. U-net进行图像分割
  5. idea springmvc_IDEA搭建SSM(spring+springmvc+mybatis)Maven项目的入门案例
  6. Android Studio使用小技巧:提取方法代码片段
  7. 《城邦暴力团》:一部奇书、反书、隐书
  8. ClickHouse之简单性能测试
  9. 深度学习-为什么用激活函数
  10. java中三种常见内存溢出错误的处理方法(good)
  11. 循序渐进学Python 1 安装与入门
  12. 界面开发的推荐色值, dip,px,pt,sp 的区别
  13. 2.3.1 TextView(文本框)详解
  14. uniapp苹果无法上架_uniapp无法上架IOS包怎么办
  15. 【Jersey】Jersey框架介绍与使用
  16. Java多线程系列--【JUC锁05】-非公平锁
  17. 软件质量管理-6-质量管理
  18. 明源售楼系统技术解析 MVC架构与房源生成(一)
  19. 如何梳理陌生的代码模块
  20. html如何设置下拉列表

热门文章

  1. 最终取代Oracle的,绝不会是另一个“Oracle”
  2. Mybatis源码分析之-Executor
  3. 无刷电机换相-六步换向-两两导通与三三导通
  4. 勇者斗恶龙1 android,勇者斗恶龙1美版FC版
  5. C++基础知识之带`%`的符号
  6. ROC的定义与计算原理
  7. 远程桌面连接提示CredSSP 加密数据库修正
  8. 华为鸿蒙小插件,华为鸿蒙系统细节曝光 可添加Widget插件
  9. 已解决:You are using pip version 8.1.1, however version 20.2.3 is available. You should consider upgrad
  10. KVM创建快照失败 “Operation not supported: internal snapshots of a VM with pflash based firmware