为了账号安全,请及时绑定邮箱和手机立即绑定

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 序列化和反序列化的使用
    查看全部
  • 自定义元素的序列化和反序列话
    查看全部
  • FileUtils
    查看全部
    0 采集 收起 来源:遍历目录

    2016-05-27

  • 字符流<br> 1)编码问题 前已述及 起码有一点要非常清楚的是,一切进入计算机的都会变成字节码<br> 2)认识文本和文本文件<br> java中的文本(其实就是char)16位的无符号整数,是字符的unicode编码(这是一种双字节编码)<br> 文件是byte byte byte...的数据集合,可以缩句来理解 文件输数据集合。字节流的编码方式和序列化规则不一样就形成了不同的文件:文本文件,音频文件,视频文件等<br> 文本文件是文本(char的编码)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的数据存储集合<br> (3)字符流<br> 抽象类 Reader Writer 二者实现了数据的两种相互转换,存储时我们用字节码的形式存储,读入计算机内存处理(包括显示,运算等)是用字符(ABC...)的形式。<br> 字符的处理,一次处理一个字符。其底层仍然是基本的字节序列<br> 字符流的基本实现<br> InputStreamReader 完成byte流解析为char流,按照编码接卸<br> OutputStreamWriter 提供char流到byte流,按照编码处理。<br> 为什么上面特别说明了一下文本文件,因为字符流大部分操作的都是文本文件。毕竟文本文编,以编码的方式不容易认读,我们才把字符编码解析为字符。如果Reader一个MP3之类的音频文件,根本就没有什么意义,因为,声音本来就不是用来看的,所以说字符流主要是用于处理文本文件的
    查看全部
  • 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。 把Java对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为Java对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。<br> JDK类库中的序列化API<br> java.io.ObjectOutputStream代表对象输出流,它的writeObject(Object obj)方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中。 java.io.ObjectInputStream代表对象输入流,它的readObject()方法从一个源输入流中读取字节序列,再把它们反序列化为一个对象,并将其返回。 只有实现了Serializable和Externalizable接口的类的对象才能被序列化。Externalizable接口继承自Serializable接口,实现Externalizable接口的类完全由自身来控制序列化的行为,而仅实现Serializable接口的类可以采用默认的序列化方式 。 对象序列化包括如下步骤: 1) 创建一个对象输出流,它可以包装一个其他类型的目标输出流,如文件输出流;<br> 2) 通过对象输出流的writeObject()方法写对象。<br> 对象反序列化的步骤如下: 1) 创建一个对象输入流,它可以包装一个其他类型的源输入流,如文件输入流;<br> 2) 通过对象输入流的readObject()方法读取对象。
    查看全部
  • 一个类实现了序列化接口与,则其子类也可直接序列化
    查看全部
  • 序列化的注意
    查看全部
  • transilent关键字,不会默认序列化
    查看全部
  • 对象的序列化和反序列化
    查看全部
  • BufferReader类的readline方法不能识别换行 FileReader和FileWriter不能增加编码参数,所以当项目和读取文件编码不同时,就会产生乱码。 这种情况下,只能回归InputStreamReader和OutputStreamWriter。 BufferedReader -- > readLine -> 读一行 不识别换行符,不会自动换行 BufferedWriter/PrintWriter -- > writeLine/println -> 写一行,不会自动换行/自动换行 在文件中换行,可以用newLine();实现
    查看全部
  • 字符流操作
    查看全部
  • 字符流中java的文本是16位的无符号整数,文件是byte的序列,文本文件是文本转byte存储的序列
    查看全部
  • byte类型8位,int类型32位,为了避免数据转换错误,通过&0xff将高24位清零
    查看全部
  • 字节流常用方法
    查看全部
  • 父类序列化时注意
    查看全部

举报

0/150
提交
取消
课程须知
亲,为了更好的学习本门课程,需要您对二进制的知识有所了解,还要熟悉Java的基本语法和面向对象的知识。
老师告诉你能学到什么?
1、了解文件编码。 2、能够对文件和目录进行管理操作。 3、能够应用字节流和字符流对文件进行读写操作。 4、能够对对象进行序列化和反序列化。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!