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));

      

    乾坤未定,你我皆是黑马
  • 相关阅读:
    hadoop balance
    随笔
    ubuntu server 使用parted分区
    程序员内功续
    hadoop——hdfs多硬盘挂载
    hdfs老数据压缩备份的一些问题20120521
    hadoop balance failed
    hoj 2524 Allocate Dormitories 二分图的最大匹配
    HDOJ 分类(转)
    hoj 3008 Matryoshka Dolls Again 最大独立子集
  • 原文地址:https://www.cnblogs.com/liuqijia/p/12713721.html
Copyright © 2011-2022 走看看