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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 是不会jvm默认的序列化,但可以自己序列化
    查看全部
  • transient定义变量不会被序列化
    查看全部
  • //Student implements Serializable String file = "demo/obj.dat"; //1.对象的序列化 ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file)); Student stu = new Student("1001","张三",20); oos.writeObject(stu); oos.flush(); oos.close(); //反序列化 ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file)); Student stu = (Student)ois.readObject(); System.out.println(stu); ois.close();
    查看全部
  • Buffered/FileWriter 字符流的过滤器 BufferedReader --> readLine 一次读已行 BufferedWriter/PrintWriter --> write()写一行
    查看全部
  • Java文本是16位无符号整数,是字符的unicode编码 文件是byte的数据序列 文本文件是文本序列按照某种编码序列化为BYte的存储结果
    查看全部
  • java.io.File类用于表示文件(目录) File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问。 创建File对象 File file = new File("E:\\javaio");//注意“\”的转义用"\"。 file.exists();判断文件是否存在,返回boolean类型 file.mkdir();创建文件 file.mkdirs();建多级目录 file.delete();删除目录 file.isDirectory();判断是否是目录,是目录返回true,不是或者不存在都返回false file.isFile();判断是否是一个文件 file.createNewFile();创建文件,会产IO异常 直接打印file其实是调用file.toString()的内容,和打印file.getAbsolutePath()内容相同。 file.getName();获得文件的名字 file.getParent();获得父目录
    查看全部
  • 我理解的过滤是,对于BufferedReader的readLine方法,遇到换行符就输出缓冲区的内容。因此过滤掉的是换行符
    查看全部
  • 序列化过程中子父类构造函数问题 一、父类实现了serializable接口,子类继承就可序列化。 1、子类在反序列化时,父类实现了序列化接口,则不会递归调用其构造函数。 二、父类未实现serializable接口,子类自行实现可序列化 2、子类在反序列化时,父类没有实现序列化接口,则会递归调用其构造函数。 *** 结论:【反序列化时】,向上递归调用构造函数会从【可序列化的一级父类结束】。即谁实现了可序列化(包括继承实现的),谁的构造函数就不会调用。
    查看全部
  • 注意:在以后的网络编程中,如果有某些元素不需要传输,那就可以用transient修饰,来节省流量;对有效元素序列化,提高性能。
    查看全部
  • transient:该元素不会进行jvm默认的序列话,也可以自己完成这个元素的序列化
    查看全部
  • 对象序列化和反序列化 1、对象序列化就是将Object转换成byte序列,反之叫对象的反序列化 2、序列化流(ObjectOutputStream),是过滤流 反序列化流(ObjectInputStream)-->readObject 3、序列化接口(Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个标准
    查看全部
  • java.io.file 类用于表示文件(目录) 之表示文件信息。不不能访问内容。 File file=new File(目录) 这里要把\变成\\ if(!file.exists()){判断是否存在 file.separator 设置分割符 file.mkdir() 创建文件。 file.mkdirs()创建多久目录 else file.delete() 删除目录 file.isDirectry(),p判断是不是目录。是返回true,不是或不存在返回false file.isFile() file.createNewFile()创建文件 file.getparent ()父类目录
    查看全部
  • String s="慕课ASD"; //字符串转为byte Byte[] bytes1=s.getByte(); for(){ //打印字节。把字节转换为16为整型。 &oxff 去掉前面的,只留八位 system.out.print(Inter.toHexString(b&oxff)) } 系统默认jbk编码 byte[] b1=s.getByte("jbk") 转换城jbk格式字符 结果,一个中午占俩个字节,一个英文占一个字节 utf-8 中午占3个字节,英文占一个 utf-16be 中文占俩,英文俩 字节序列转换字符串也需要编码方式,否则乱码 String str1=new String(byte1,"utf-8") 文本文件就是字节序列,可以是任意字节序列。中文只认ansi 编码代表CBK编码
    查看全部
    0 采集 收起 来源:文件的编码

    2018-03-22

  • 对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,那么其父类的构造函数会显式被调用
    查看全部
  • 序列化中子类和父类构造函数调用问题 父类实现序列化接口,其子类都可以进行序列化 calss Foo implements Serializable{ public Foo(){ System.out.pritln("Foo"); } } class Foo1 ectends Foo{ public Foo1(){ System.out.println("foo1"); } } class Foo2 ectends Foo1{ public Foo2(){ System.out.println("foo2"); } } //序列化 ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("demo/obj1.dat")); Foo2 foo2=new Foo2(); oos.writeObject(foo2); oos.flush(); oos.close(); //反序列化是否递归父类的构造函数 ObjectInputStream ois=new ObjectInputStream(new FileInputStream("demo/obj1.dat")); Foo2 foo2 = (Foo2)ois.readObject(); System.out.println(foo2); ois.close(); class Bar{ public Bar(){ System.out.println("bar"); } } class Bar1 ectends Bar implements Serializable{ public Bar1(){ System.out.println("bar1"); } } class Bar2 ectends Bar1{ public Bar2(){ System.out.println("bar2"); } }
    查看全部

举报

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

微信扫码,参与3人拼团

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

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