java中的流

来源:互联网 发布:手机电池信息校正软件 编辑:程序博客网 时间:2024/06/11 00:12

java中的流是一个有序的字节序列,当进行输入或者输出操作时,数据以管道一样从一端流入另一端。例如外存中的文件(数据源)要进入内存,编写的程序从这个流中读取数据,这个数据流的终端是内存,在数据流的外部还有缓冲流。流中的字节具有严格的顺序,按先进先出的要求操作,因此流式I/O是一种顺序存取方式。

流的分类:文件流,缓冲流,数据流,转换流,打印流,还有节点流,字符流,object流等。

一:输入流/输出流的分类:java.io包中定义了多个流类型(类或者抽象类)来实现输入输出功能,(抽象类是指含有纯虚函数的类,该类不能建立对象,只能声明指针和引用,用于基础类的接口声明和运行时的多态。)可以从不同角度对其分类:按数据流的方向不同可以分为输入流和输出流。按处理数据单位不同可以分为字节流和字符流。按功能不同可以分为节流和处理流。字节流(输入流InputStream 输出流OutputStream)字符流(输入流Reader 输出流Writer)

File文件:

import java.io.*;
public class FileCopy {
  public static void main(String[] args) {
 int b = 0;
 FileReader in = null;
 FileWriter out = null;
 try {
   in = new FileReader("d:/share/java/HelloWorld.java");
   out = new FileWriter("d:/share/java/io/HW.java");
   while((b=in.read())!=-1){
     out.write(b);
   }
   out.close();
   in.close(); 
   
 } catch (FileNotFoundException e2) {
   System.out.println("找不到指定文件"); System.exit(-1);
 } catch (IOException e1) {
   System.out.println("文件复制错误"); System.exit(-1);
 }
 System.out.println("文件已复制");
  }
}这个程序先将HelloWorld里的文件读取出来,out.close释放。若想得到HelloWord里的程序可以执行一个while循环:while((b=in.read()!=-1){

System.out.print((char)b);

这个程序的作用是文件的释放和复制。