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

文件传输基础——Java IO流

难度入门
时长 2小时 0分
学习人数
综合评分9.67
669人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 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(); }
    查看全部
  • 问题2
    查看全部
  • 为啥要写四次
    查看全部
  • zhanglei
    查看全部
  • 字符流的过滤器: BufferedReader:readLine 一次读一行 BufferedWriter/PrintWriter: 一次写一行 BufferedReader 和 PrintWriter 搭配使用比较方便 public class BrAndBwOrPwDemo { public static void main(String[] args) throws IOException { // 对文件进行读写操作 BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("e:\\javaio\\file.txt"))); // BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( // new FileOutputStream("e:\\javaio\\file3.txt"))); PrintWriter pw = new PrintWriter("e:\\javaio\\file4.txt"); String line; while ((line = br.readLine()) != null) { System.out.println(line);// 一次读一行,并不能识别换行 // bw.write(line); // //单独写出换行操作 // bw.newLine();//换行操作 // bw.flush(); pw.println(line); pw.flush(); } br.close(); // bw.close(); pw.close(); } }
    查看全部
  • FileWriter/FileReader: public class FrAndFwDemo { public static void main(String[] args)throws IOException { FileReader fr = new FileReader("e:\\javaio\\imooc.txt");//要求工程和文件的编码形式是一样的 FileWriter fw = new FileWriter("e:\\javaio\\imooc2.txt");"//要求工程和文件的编码形式是一样的 // FileWriter fw = new FileWriter("e:\\javaio\\imooc2.txt",true);//往里追加内容 char[] buffer = new char[2056];//批量的字符读取 int c; //读到-1再结束 while((c = fr.read(buffer,0,buffer.length))!=-1){ fw.write(buffer,0,c); fw.flush(); } fr.close(); fw.close(); } }
    查看全部
  • 字符流 1)编码问题 2)认识文本和文本文件 java的的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码) 文件是byte byte byte...的数据序列 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储 3)字符流(Reader Writer)--->操作的是文本、文本文件 字符的处理,一次处理一个字符 字符的底层仍然是基本的字节序列 字符流的基本实现 InputStreamReader 完成byte流解析为char流,按照编码(utf-8,utf-16be,gbk等)解析,java默认的是gbk,如果访问的文本或者文本文件是别的编码的,就要在构造时在参数里写上。 OutputStreamWriter 提供char流到byte流,按照编码(utf-8,utf-16be,gbk等)处理,java默认的是gbk,如果访问的文本或者文本文件是别的编码的,就要在构造时在参数里写上。
    查看全部
  • 77777777777递归遍历目录 运行结果
    查看全部
    0 采集 收起 来源:遍历目录

    2017-03-27

  • 77777777777递归遍历目录
    查看全部
    0 采集 收起 来源:遍历目录

    2017-03-27

  • 对子类对象进行反序列 化操作是,如果其父类没有实现序列化接口, 那么父类的构造函数会被显示调用
    查看全部
  • 运行结果
    查看全部
    0 采集 收起 来源:遍历目录

    2017-03-27

  • File提供了直接返回File对象的API
    查看全部
    0 采集 收起 来源:遍历目录

    2017-03-27

  • 用带有缓冲区的流类,进行 文件的拷贝 其中一定要 刷新缓冲区。 bos.flush();
    查看全部
    0 采集 收起 来源:字节缓冲流

    2017-03-27

  • 6666666666666
    查看全部
    0 采集 收起 来源:遍历目录

    2017-03-27

  • BufferedInputStream&BufferedOutputStream 提供了带缓存区的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,这种流模式提高了IO的性能 从应用程序中把输入放入文件,相当于将一缸水倒入到另外一个罐中: FileOutputStream-->write()方法相当于一滴一滴地把水“转移”过去 DataOutputStream-->writeXxx()方法会方便一些,相当于一瓢一瓢把水“转移” BuffereOutputStream-->write()方法更方便,相当于一瓢一瓢先放入 桶中,在从桶中倒入到另外一个缸中
    查看全部
    0 采集 收起 来源:字节缓冲流

    2018-03-22

举报

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

微信扫码,参与3人拼团

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

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