java--IO

  IO操作是指输入和输出流的操作,相对于内存而言,当我们从数据源中将数据读取到内存中,就是输入流,也叫读取流。

当我们将内存中处理好的数据写入数据源,就是输出流,也叫写入流。

  流按照内容分类:字节流、字符流、对象流。

  按照方向分:输入流、输出流

  按照数据大小分:字节流、字符流

  按照功能分:节点流、处理流

  其实真正的流只有一种:字节流。   数据的传输在底层都是以二进制方式传输。所以无论是哪种流都是字节流。而字符流和对象流都是在字节流的基础上做了一层封装,以便对字符数据和对象数据进行操作。

  所有字节流的父类:inputstream和outputstream

  所有字符流的父类:Reader和Writer

流操作的步骤:

1.建立流:建立内存和数据源之间传输数据的通道;

2.操作流:操作传输的数据;

3.关闭流:关闭内存和数据源之间的通道;

建立流:

InputStream in=new FileInputStream(文件地址);

in.read();------>返回的是数据                            in.close----------->关闭流

  当操作文件流时,如果文件不存在,读取流时会抛出   File NotFoundException;

int n=0;

byte[] bytes=new byte[1024];

while(n=in.read(bytes)!=-1){         //    如果等于1,读取完毕

  system.out.printle(new String(bytes,"gbk"));

  }

写入流:

OutputStream out=null;

  out=new FileOutputStream("txt");  如果不写第二个参数,则为覆盖         如果第二个参数为true,则表示以追加的方式写入数据

  out=new fileOutStream("atm.txt",true);

  out.writer("字符串".getBytes());

流使用完毕后必须关闭,如果不关闭会浪费内存资源,而且写入流可能写不进数据。先关闭写入流,后关闭读取流。后建立先关闭。

字符流:

BfferedReader   加强类,缓冲读取流。

Reader r=null;

BufferReader b=null;

r=new FileReader("txt");

b=new BufferedReader(r);

String s="    ";

while((s=b.readLine()!=null){      }

写入字符流:

w.write();------直接写入字符串

w.flush();------刷新流

原文地址:https://www.cnblogs.com/JackieADBM/p/5444756.html