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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • Java I/O 输入输出流基本
    查看全部
    0 采集 收起 来源:文件的编码

    2015-04-22

  • FileOutStream继承了OutStream 实现了向文件中写byte数据的方法
    查看全部
  • 这个节课讲行很不错,学到了如何使用递归算法对目录下的文件及子目录进行遍历
    查看全部
    0 采集 收起 来源:遍历目录

    2015-04-17

  • io(输入,输出流) 字节流(InputStream,OutputStream) InputStream抽象了应用程序读取数据的方式 OutputStream抽象了应用程序写数据的方式 eof = End 读到-1就读到结尾 键盘是输入的 int b = in.read();读取的是一个无符号填充到int低八位-1就结束了 in.read(byte[] buf)
    查看全部
  • RanddomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件↓
    查看全部
  • Java I/O输入输出流 1.编码问题 2.File类的使用 3.RandomAccessFile的使用 4.字节流使用 5.字符流使用 6.对象序列化和反序列化
    查看全部
    0 采集 收起 来源:文件的编码

    2015-04-17

  • 爱你的宿命= =
    查看全部
  • BufferInputStream&BufferOutputStream 这两个流类为IO提供了带缓冲的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,提高了IO性能 从应用程序中吧文件输入,相当于将一缸水导入另一缸水; FileOutputStream-->write()相当于一滴一滴把水转移过去 DataInputStream-->writeXXX()方便一些,相当于一瓢一瓢把水转移过去 BufferInputStream-->write()更加方便一些,相当于将水先存入桶中,一桶转
    查看全部
    0 采集 收起 来源:字节缓冲流

    2018-03-22

  • gbk编码 中文占2个字节,英文占1个字节 utf-8编码 中文占3个字节 英文占1个字节 utf-16be中文占用2个字节 英文占用也是2个字节。 当你的字节序列是某种编码的时候,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码。 public static void main(String[] args)throws Exception//抛出异常 String s="ABC"; byte[] bytes= s.toBytes("UTF-8"); String s2=new String(bytes,"UTF-8");
    查看全部
    0 采集 收起 来源:文件的编码

    2018-03-22

  • 递归算法棒棒哒
    查看全部
    0 采集 收起 来源:遍历目录

    2015-04-16

  • 序列化过程中子父类构造函数调用问题 1.一个类实现了serializable序列化接口,其子类都可以进行序列化操作 2.子类序列化,递归调用父类的构造器,原理,对象实例化构造函数就是被递归调用的; 3.对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,那么其父类的构造函数会被调用;如果父类实现了序列化接口,则不会递归调用其构造函数。 *** 结论:【反序列化时】,向上递归调用构造函数会从【可序列化的一级父类结束】。即谁实现了可序列化(包括继承实现的),谁的构造函数就不会调用。
    查看全部
  • 1.transient关键字:被transient修饰的元素,该元素不会进行jvm默认的序列化,但可以自己完成这个元素的序列化 注意:在以后的网络编程中,如果有某些元素不需要传输,那就可以用transient修饰,来节省流量;有效数据序列化,无效数据就不需要序列化了,提高效率 2.ArrayList源码中序列化和反序列化的方法,可以拿來直接用 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException private void readObject(java.io.ObjectInputStream s) throws java.io.IOException,ClassNotFoundException 1)到ArrayList中找到 writeObject()方法,在本类中进行重写, private void writeObject(java.io.ObjectOutputStream s)throws IOException{ s.defaultWriteObject();//把jvm能默认序列化的元素进行序列化操作 s.writeInt(stuage);//自己完成stuage的序列化 } 2)反序列化: private void readObject(java.io.ObjectInputStream s) throws Exception{ s.defaultReadObject();//把jvm能默认反序列化的元素进行反序列化操作 this.stuage = s.readInt();//自己完成stuage的反序列化操作 } transient关键字修饰的属性默认是不能序列化的,但是可以使用writeObject自己完成这个元素的序列化。ArrayList就是用了此方法进行了优化操作。ArrayList最核心的容器Object[] elementData使用了transient修饰,但是在writeObject自己实现对elementData数组的序列化。只序列化实际有的元素,对于数组中空的元素不进行序列化。
    查看全部
  • 对象的序列化(将 对象 进行保存),反序列化(读取已保存的对象序列) 1)对象序列化,解释将Object转化成byte序列,反之叫对象的反序列化 2)序列化流(ObjectOutputStream),是过滤流------>writeObject() 反序列化流(ObjectInputStream)----> readObject() 3)序列化接口 (Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个规范
    查看全部
  • BufferedReader -- > readLine一次读一行 不识别换行符,不会自动换行 BufferedWriter/PrintWriter -- > writeLine写一行 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file))); line = br.readLine(); 一次读取一行,不能识别换行 一次写入一行 BufferedWriter bw.write(line); bw.newLine(); 单独换行操作 bw.flush(); PrintWriter pw.println(line);//自动换行 pw.flush()
    查看全部
  • 2.字符流 1)编码问题 2)认识文本和文本文件 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码) 文件是 byte byte byte ... 的数据序列 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果 3)字符流(Reader Writer)---------->操作的是文本文件 字符的处理,一次处理一个字符 字符的底层仍然是基本的字节序列 字符流的基本实现 InputStreamReader 完成byte流解析为char流,按照编码解析 OutputStreamWriter 提供char流到byte流,按照编码处理
    查看全部

举报

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

微信扫码,参与3人拼团

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

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