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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 对象序列化和反序列化 序列化:就是将object转换成byte,反之,就是反序列化 2、序列化流(ObjectOutputStream),是过滤流 反序列化流(ObjectInputStream)-->readObject 3、序列化接口(Serializable)--》writeObject 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个标准
    查看全部
  • DataOutputStream/DataInputStream 对“流”功能的扩展,可以更加方便的读取 int,long, 字符等类型数据 DataOutputStream:使用FileOutputStream构造出来,通过包装FileOutput,可以调用FileOutput类的write方法来构造新的更方便的写方法: new DataOutputStream(new FileOutptStream(file))
    查看全部
  • 1、一个类实现了序列化接口,他的子类都能实现序列化接口,不需要显式实现。 2、序列化时递归调用父类的构造函数;反序列化时:如果父类实现了序列化接口,则继承的子类的反序列化不会调用父类的构造函数;如果子类对象实现了序列化接口而父类没有实现,则父类的构造函数在反序列化时会被显式调用。
    查看全部
  • 1、transient修饰的元素时,该元素不会进行jvm默认(注意!)的序列化,也可以自己完成该元素的序列化。所以在反序列化时不会保存值。 2、private void writeObject(ObjectOutputStream s){ s.defaultWriteObjec();//把jvm能默认序列化的元素进行序列化操作 s.writeXXX(target);//自己完成对target类型的序列化 } 反序列化类似。 3、分析ArrayList源码中序列化和反序列化的方法。实现了把有效的元素进行序列化和反序列化,对于未填充满的垃圾元素不会进行序列化,这明显提升了性能。
    查看全部
  • 1、对象的序列化和反序列化 序列化:将Object对象转换成byte序列,反之叫对象的反序列化。 2、序列化流(ObjectOutputStream),是字节的过滤流----writeObject() 反序列化(ObjectInputStream),-------readObject() 3、序列化接口(Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口没有方法,只是一种标准。 一般用于网络传输对象。 反序列化要注意将对象强制类型转换为对应的类型。
    查看全部
  • 字符流的过滤器: 1、BufferedReader ---->readLine()一次读一行,并不能识别换行 BufferedWriter ---->writeLine()一次写一行,要单独写出换行操作newLine() PrintWriter----->println(line) 构造函数更加简单
    查看全部
  • FileReader fr=new FileReader(filePath); char[] buffer=new char[2056]; int c; while((c=fr.read(buffer,0,buffer.length))!=-1){.....} FileWriter(String path,boolean append) 为true时追加而不删除存在的文件
    查看全部
  • 图片上传的时候使用太复杂
    查看全部
  • 序列化过程中子父类构造函数调用问题 一个类实现了序列化接口,那么其子类都可以进行序列化 一、父类实现了serializable接口,子类继承就可序列化。 1、子类在反序列化时,父类实现了序列化接口,则不会递归调用其构造函数。 二、父类未实现serializable接口,子类自行实现可序列化 2、子类在反序列化时,父类没有实现序列化接口,则会递归调用其构造函数。 【反序列化时】,向上递归调用构造函数会从【可序列化的一级父类结束】。即谁实现了可序列化(包括继承实现的),谁的构造函数就不会调用。 父类实现了serializable接口,子类继承就可序列化。 1、子类在反序列化时,其父类实现了序列化接口,则不会递归调用他们的构造函数。 2、若父类没有实现serializable接口,其子类自行实现反序列化,递归调用其构造函数 结论:反序列化时,谁实现了可序列化(包括继承实现的),谁的构造函数就不会调用。
    查看全部
  • 在目标处按ctrl然后点进去就看到源代码
    查看全部
  • transient 关键字:被transient修饰的元素,该元素不会进行jvm默认的序列化,但可以自己完成这个元素的序列化 注意:(1)在以后的网络编程中,如果有某些元素不需要传输,那就可以用transient修饰,来节省流量;对有效元素序列化,提高性能。 (2)可以使用writeObject自己完成这个元素的序列化。ArrayList就是用了此方法进行了优化操作。ArrayList最核心的容器Object[] elementData使用了transient修饰,但是在writeObject自己实现对elementData数组的序列化。只对数组中有效元素进行序列化。readObject与之类似。
    查看全部
  • 对象序列化和反序列化 序列化:就是将object转换成byte,反之,就是反序列化 2、序列化流(ObjectOutputStream),是过滤流 反序列化流(ObjectInputStream)-->readObject 3、序列化接口(Serializable)--》writeObject 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个标准
    查看全部
  • FileReader/FileWriter
    查看全部
  • InputStream OutputStream InputStream 抽象了应用程序读取数据的方式 OutputStream 抽象了应用程序写出数据的方式 EOF=End 读到-1就读到结尾 输入流基本方法 int b=in.read();读取一个字节无符号填充到int的低八位,-1是EOF in.read(byte[] buf);读取数据填充到字节数组buf、 in.read(byte[] buf,int start,int size) 输出流基本方法 out.write(int b) 昔日出一个byte到流,b的低八位 out.write(byte][] buf) 将buf字节数组都写入到流 out.write(byte[] buf,int start,int size); FileInputStream 具体实现了文件上读取数据
    查看全部
  • RandomAccessFile 对文件内容的访问(读写)
    查看全部

举报

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

微信扫码,参与3人拼团

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

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