Java入门-----第七弹

IO流:
java程序是通过流来完成输入/输出。java.io.*
字节流和字符流
字节流(byte stream):以字节为读写单位
字符流(character stream):以字符为读写单位 
1.国际化
2.提高了读写效率
一个字符占两个字节,一个汉字占两个字节。
java中是双字节(unicode)编码,所以,一个字符占两个字节。
utf-8 国际化
gb2312 
gbk
big5
iso-8859-1

输出文件------写操作      write()
输入文件------读操作      read()      
字节流类:以字节为单位进行读写操作。因此处理的文件都是以字节为单位的编码文件。
InputStream  read();           OutputStream   write();  描述流输入/输出的抽象类        
第一组:FileInputStream         FileOutputStream        读取文件的输入流/写文件的输出流
第二组:BufferedInputStream     BufferedOutputStream       缓冲输入/输出流  调用flush()刷新
第三组:System.in               System.out                 已是InputStream/PrintStream的对象
第四组:PipedInputStream        PipedOutputStream          一般用在多线程的程序中,又可以称为管道流
第五组:ObjectInputStream       ObjectOutputStream这组流是用来解决对象串行化的(对象序列化)
问:什么是串行化?如何实现?
就是用来保存一个对象的状态(游戏的存盘),一个对象的状态想要保存,
其类必须实现序列化接口(java.io.Serializable)这个接口里面没有任何方法,它只是一种强制规定。

问:Serializable和synchronized分别用在什么场合?
synchronized { //同步块
}

字符流类:以字符为单位进行读写操作。
Reader  read();               Writer   write();    抽象类
第一组:InputStreamReader      OutputStreamWriter
第二组:FileReader                     FileWriter
第三组:BufferedReader   readLine()           PrintWriter  println()  

想要一次读一行只能用BufferedReader,没有提供其它类用来读一行
BufferedWriter 中的write()不会换行!
PrintWriter 中的println()直接换行,更加简单!

问:字符流中哪一个类有一次读取一行的方法?

问:项目中用什么流比较合适?
字节流可以读写任何类型文件,但字符流读写文字比较合适。

代码实现:
文件 Lesson1.txt
内容 hello world!
倒序输出 abc.txt 文件中



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值