zoukankan      html  css  js  c++  java
  • 乱七八糟的流

    由于工作用到了各种流,所以就查阅资料总结一下,查询资料需谨慎啊,有的有错误,多看看。

    首先了解两个概念:字节流和字符流。

    字节流--传输过程中,传输数据的最基本单位是字节的流;

    字符流--传输过程中,传输数据的最基本单位是字符的流。

    字符流顾名思义读出来的都是字符,所以只用来读文本文件,其他非文件的二进制文件当然要用字节流来读了,最常见的就是一些流媒体文件,都是直接读取的字节。


    写了一堆然后删掉了,直接贴上一篇链接,详细的雅痞,直接看就行了。

    原文:https://www.cnblogs.com/progor/p/9357676.html

    另外附加几句话为了理解(复制来的):

    (1) InputStream  inputstream  = new  FileInputStream("fileName");//然后对InputStream 进行读操作,为啥是读呢?可以把内存当作主体,

    这是某个网友说的,你从硬盘往内存里Input 东西就是读取数据咯。 另外这里因为FileInputStream继承InputStream 类//所以可以这样用。

    (2)字符流顾名思义读出来的都是字符,所以只用来读文本文件,其他非文件的二进制文件当然要用字节流来读道了,最常见的就是一些流媒体文件,

    都是直接读取的字节啊。至于回为什么提供2种流,当然是为了使用方便罗,你硬要把字符拆成字节来读,然后自己再写代码解析出字符也答是可以的,反过来也一样。

    (3)工作中的一个例子:

     1 String text = "";
     4              String encoding="UTF-8";
     5              File file_txt = new File(path);
     6              if(file_txt.isFile() && file_txt.exists()){ //判断文件是否存在
     7                  InputStreamReader read = new InputStreamReader(//字节流转换为字符流
     8                  new FileInputStream(file_txt),encoding);//考虑到编码格式
     9                  BufferedReader bufferedReader = new BufferedReader(read);//将数据进行缓冲,提高效率
    10                  //BufferedReader也可以叫缓冲流,缓冲到一块特殊的内存中,这样就不用读一下写一下了,可以直接读取一部分到内存中再写
    11                  text = bufferedReader.readLine();
    12                  read.close();
    13                  bufferedReader.close();
    14              }

      或者:
     InputStream file = new FileInputStream("文件名");
     BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(file));

      

    乾坤未定,你我皆是黑马
  • 相关阅读:
    Microsoft.NET Framework 全面开源
    SqlCommandBuilder笔记[原]
    C#几种排序方法的整理[原]
    无聊用js写了一个模拟的购物车[原]
    Visio2005数据库建模视频[原]
    JavaScript读取XML文件[整理]
    IIS中对NetFrameWork进行注册
    时间不等人 创业准备开始了
    用CSS和HTML标签来截取过长的文字部分变成省略号
    C#在SQl中存取图片image[原]
  • 原文地址:https://www.cnblogs.com/liuqijia/p/12713721.html
Copyright © 2011-2022 走看看