File和IO流相关的小笔记

本文详细介绍了Java中的IO流,包括BufferedReader、File、异常处理等核心概念。BufferedReader的readLine()方法用于按行读取文件,File的length()方法获取文件字节长度。此外,讨论了throw和throws的区别,以及catch和finally在异常处理中的角色。还提到了各种缓冲流如BufferedInputStream、BufferedWriter的作用,以及如何通过OutputStreamWriter和PrintWriter进行字符与字节流的转换。文章强调了关闭流的重要性,并提及了transient关键字在序列化中的作用。最后,阐述了对象序列化的要求和文件输入输出流的基本操作,如write方法和文件路径的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. BufferedReader的readLine()用户按行读取字符串,返回的字符串不含有最后的换行符。
  2. File获取一个文件长度的方式为调用length()方法,返回值表示的长度为字节。
  3. throw用来主动对外抛出异常,throws用来在方法上声明抛出的异常。
  4. 捕获异常是catch块的工作,finally是释放资源。
  5. BufferedReader是一个缓冲字符输入流,可以快读文本数据。
  6. BufferedInputStream是缓冲字节输入流,作用:块写字节效率加速。
  7. BufferedWriter是一个缓冲字符输出流,可以加快写出效率。
  8. OutputStreamWriter是转换输出流,作用:衔接字节与字符流,用于将写出的字符转换为字节。
  9. PrintWriter是具有自动行刷新的缓冲字符输出流;
  10. 输入流没有自动行刷新。
  11. File实际表示的是一个抽象路径,可以表示该路径对应的文件或目录。
  12. 文件输入流的方法:int read()作用是:从文件读取一个字节,返回的int值低8位有效。
  13. 处理流又称为高级流,不能单独存在,必须单独连接在其他流上。
  14. 流读取后必须调用close()方法,因为不关闭流可能导致底层资源无法释放,影响其他操作。
  15. 缓冲输入流没有flush方法,缓冲输出流有flush方法。
  16. transient:被该关键字修饰的属性在序列化时值被忽略。
  17. 字符流没有提供读写字节的方法,字符输出流是用于写出字符数据的,字符输入流用于写入字符数据。字符流底层本质还是读取字节。
  18. 对象所属的类必须已经实现了序列化接口(java.io.Serializable),然后对象流才可以读取任何该java类的任何对象。
  19. 对象需要实现java.io.Serializable接口才能被序列化或反序列化。
  20. 文件输出流用于向文件中写入一个字节的方法:void write(int d)
  21. void write(byte[] data] 这是块写操作
  22. void write(byte[] data, int off, int len)这是快写操作
  23. 创建文件时,当前目录是“./”是相对路径,其中"./“可以省略。 如创建文件时,用于指定当前目录中的文件text.txt,其正确路径写法为new File(”./text.txt")或new File(“text.txt”)。
  24. 文件输出流可以创建一个文件,写出字节向文件中;不能创建目录
  25. 文件输入流可以读取文件,不能读取目录
  26. 节点流是低级流,是真实连接程序与另一端的管道。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值