zoukankan      html  css  js  c++  java
  • Java基础知识二次学习--第八章 流

    第八章 流
     
    时间:2017年4月28日11:03:07~2017年4月28日11:41:54
    章节:08章_01节
    视频长度:21:15
    内容:IO初步
    心得:
    所有的流在java.io包里面
    定义了多个流类型(类或抽象类)来实现输入/输出功能
    可以从不同的角度对其进行分类
    按数据流的方向不同可以分为输入流和输出流
    按处理数据单位不同可以分为字节流和字符流
    按照功能不同可以分为节点流和处理流
    jdk中所提供的的所有流类型位于包Java.io内都分别继承自以下四种抽象流类型
    输入流 InputStream  Reader(字符)
    输出流 OutputStream Writer(字符)
     
    字节流就是01010101的读 每次读1个字节(8位)
    字符流就是按一个字符一个字符的读 1个字符=2个字节
     
    节点流是直接将流连接到程序,可以从一个特点的数据源(节点)读写数据(如:文件,内存)
    处理流是"连接"在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能
    图形显示

     

     
     
     
    inputStream
     

     

    outputStream

     

     
    Reader

     

    Writer

     

     
    时间:2017年4月28日11:42:08~2017年4月28日13:45:03
    章节:08章_02节
    视频长度:11:34
    内容:FileInputStream_FileOutputStream
    新的:
    节点流类型

     

     
    文件的复制
     
    FileInputStream in = null;
    FileOutputStream out = null;
    try{
    in = new FileInputStream("d:/java/testFileInput.java");//要读取的文件
    out =new FileOutputStream("d:/java/testFileOutput.java");//要写入的文件
     while((b=in.read()) != -1){
          out.write(b);
    }
    in.close();
    out.close()
    ....之后的cath就不写了
    }
    将读出来的字节存到b中 再写入到out里。
     
    时间:2017年4月28日13:45:33~2017年4月28日13:49:56
    章节:08章_03节
    视频长度:05:10
    内容:FileReader 和FileWriter
    心得:
    和上面一样
    int c= 0;
    FileReader fr =null;
    fr=new FileReader("文件地址")
    while((c=fr.read()) != -1){
    System.out.print((char)c)
    }
     
    时间:2017年4月28日13:50:16~2017年4月28日14:02:58
    章节:08章_04节 08章_05节
    视频长度:13:32 + 1:18
    内容:BufferedIO + IO_FAQ
    心得:
    处理流
    处理流是"连接"在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能

    时间:2017年4月28日14:05:22~2017年4月28日14:24:46
    章节:08章_06节
    视频长度:22:06
    内容:TransformIO
    心得:
    转换流

     

    可以将字节流与字符流之间互相转换
    OutputStreamWriter osw =new OutputStreamWriter(
    new FileOutputStream("...")
    )
    将字节流转换为字符流 返回一个字符流

     

    true 的话 是代表追加 接着原来文件后面写
    不写true的话 会将原来的内容清空掉
     
    第3个参数“iso-8859-1”是指定字符编码 latin-1
     

     

    System.in//阻塞式的方法,也是同步方法
     
    时间:2017年4月28日14:24:53~2017年4月28日14:40:24
    章节:08章_07节
    视频长度:18:40
    内容:DataIO ByteArrayIO
    心得:

     

     

     
    注意 先写进去的先读出来
    (先进先出)--队列
    (先进后出)--栈
     
    时间:2017年4月28日14:40:39~2017年4月28日14:50:39
    章节:08章_08节
    视频长度:21:21
    内容:Print 流
    心得:
    打印流 只有wtrite 和out了 因为是打印出来
     

     

    注意 System.setOut ,更改了打印的位置
    原来默认是打印在控制台
    这里改成了 打印到文件里了。

     

     
    控制台参数 是文件名 
    然后一行一行的打印出来 到控制台

     

    将控制台输入的文字 写到一个文件里
    然后作一些处理 就是一个简单的日志文件记录
    同样是阻塞式的
     
    时间:2017年4月28日14:50:39 ~2017年4月28日15:00:14
    章节:08章_09节
    视频长度:13:06
    内容:ObjectIO 流
    心得:
    直接将对象(Object)写入或读出
     
  • 相关阅读:
    git使用代理
    反汇编一个c程序
    Berkeley套接字
    ubuntu 升级
    ubuntu备份与还原
    struct socket 结构详解
    How sockets work
    wget中文乱码问题
    ubuntu配置开机启动服务
    《javascript设计模式》笔记之第五章:单体模式
  • 原文地址:https://www.cnblogs.com/invoker-/p/6812357.html
Copyright © 2011-2022 走看看