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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 一个类实现了序列化接口,那么其子类都可以进行序列化 序列化时调用父类函数中的构造函数 对子类进行反序列化,若父类没有实现序列化接口,那么会显式调用父类构造函数
    查看全部
  • 序列化和反序列化操作
    查看全部
  • private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException{ s.defaultWriteObject();//把JVM默认序列化的元素进行序列化操作 s.writeInt(stuage);//被transient修饰的元素stuage自己完成序列化
    查看全部
  • transient关键字定义的变量不会进行虚拟机默认的序列化
    查看全部
  • 1.对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化 2.序列化流(OjectOutputStream)是过滤流----writeObject 反序列化流(ObjectInputStream)----readObject 3.序列化借口(Serializable) 对象必须实现序列化借口,才能进行序列化,否则将出现异常 这个借口,没有任何方法,只是一个标准 对象实体类的序列化与反序列化 public static void main(String[] args) throws IOException, Exception { String file = "F:/IO流/序列化/test.txt"; // 1.对象的序列化 /*ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream( file)); Student stu = new Student("10011", "张三 ", 20); oos.writeObject(stu); oos.flush(); oos.close();*/ // 2.反序列化 ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); Student stu2 = (Student) ois.readObject(); System.out.println(stu2); ois.close(); }
    查看全部
  • BufferedReader cr1=new BufferedReader(new InputStreamReader(new FileInputStream("文件路径"))); BufferedReader和BufferedWriter都不会换行,需要单独写出 Writer的换行cr2.newLine(); PrintWriter pw=new PrintWriter("file路径"); 换行 pw.println(line);
    查看全部
  • FileWriter fw=new File Writer("文件或者文件路径",true); 追加内容,不会删除 FileReader和FileWriter的使用 public static void main(String[] args) throws IOException { FileReader fr = new FileReader("F:\\IO流\\file读写操作\\fr.txt"); FileWriter fw = new FileWriter("F:\\IO流\\file读写操作\\fw.txt"); // 加上true是追加内容 FileWriter fw2 = new FileWriter("F:\\IO流\\file读写操作\\fw_true.txt", true); // 单个写入 fw2.write("完成"); // 成组写入 char[] buffer = new char[1024]; int c; while ((c = fr.read(buffer, 0, buffer.length)) != -1) { System.out.print(buffer); fw.write(buffer, 0, c); fw.flush(); } fr.close(); fw.close(); fw2.close();
    查看全部
  • 字符流 文本和文本文件 java的文本(char)是16位无符号的整数,是字符的Unicode编码(双字节编码)文件是byte,byte,byte的数据序列 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的储存序列 字符流(Reader Writer) 字符的处理,一次处理一个字符,字符的底层,仍然是基本的字节序列 字符流的基本实现 InputStreamReader完成byte流解析为char流,按照编码解析 OutputStreamWriter提供char流到byte流,按照编码处理
    查看全部
  • FileOutStream out=new FileOutStream("文件路径",boolean append); 如果文件名后面为TRUE,则若文件已存在,则追加内容; 如果文件后面无内容,则若存在,就先删除再创建;不存在则创建
    查看全部
  • out和in相似
    查看全部
  • 输入、输出流的基本方法
    查看全部
  • Integer.toHexString(b & 0xff) //Integer.toHexString()可将括号内的整数转化为字符串
    查看全部
    0 采集 收起 来源:文件的编码

    2018-03-22

  • ok
    查看全部
    0 采集 收起 来源:文件的编码

    2016-11-20

  • Mark
    查看全部
  • 来自woider的评论: 缓冲字节流这一节希望重新录更正错误,使用缓冲字节流复制确实是最快的方式,但对于小文件10M以下的文件体现不出优势,对于百兆文件正确使用,时间可以控制到50ms内。视频中的缓冲字节流使用有错误,复制文件最快的做法是将批量读取到的字节数组使用缓冲写入到文件,在机器性能范围内字节数组越大越快。在循环写入的过程中不需要使用flush,就像cwt8805说的,缓冲输入流在关闭的时候会将所有缓冲区的数据全部写入文件,使用flush刷新缓冲就失去了缓冲的意义。最后关闭IO流和文件流应该在finally中关闭,否则IO异常时执行不到close语句,IO流仍然没有关闭。
    查看全部
    1 采集 收起 来源:字节缓冲流

    2016-11-20

举报

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

微信扫码,参与3人拼团

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

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