javaSE——字节流

Posted BU_L

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaSE——字节流相关的知识,希望对你有一定的参考价值。

IO流:InputStream/OutputStream

字节流:

        文件输出流 :内存 ——>文件  

                                                                                             文件输入流 :内存<——文件

 应用             文件输入/出流                       文件           字节输入/出流:ByteInputStream

 

InputStream/OutStream都是抽象的父类

文件输入流:FileInputStream 从文件系统中的某个文件中获得输入字节。哪些文件可用取决于主机环境。

FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader

package 字节流;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

public class Demo01 {
    
    public static void main(String args[]){
    try {
        InputStream is  = new FileInputStream("D:/lala.txt");
        while(true){
            int data = is.read();
            
            if(data == -1){
                break;
            }
            System.out.print((char)data);
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }    
    }
    }
    

 read()每次读入一个字节,若在末尾无字节时返回值 -1.

 

文件输出流:文件输出流是用于将数据写入 FileFileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。

 

注意:输入流与输出流是站在应用的角度来看的输入与输出。如果管子的流向是应用,则为输入流;若流向是文件,则为输出流。

 

字符与字节的区别:

字符是计算机中使用的文字和符号,如1,2,3,a,b,¥,—,“中”等。

字节是计算机用于计量存储容量的计量单位,表示数据量的多少。可以计算要给变量分配多大的内存空间,比如char型占用2个字节的内存空间,int型占4个字节。

java中,Byte型是最小的数据类型。char型会被分配两个字节的存储空间。一个char型的字母占用1个字节空间,一个char型的汉字刚好占用两个字节空间。如果是多个汉字则可定义为String型。

 

以上是关于javaSE——字节流的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE——IO流(字节流&字符流)

基础IO流javaSe

JavaSE IO流学习总结

JavaSE-19 IO

JavaSE第十四天20160822

JavaSE复习_11 IO流复习