第一种分法:输入流和输出流java
第二种分法:字节流和字符流 字节流核心类 InputStream OutputStream是父类,其余字节流都是子类。数组
都是抽象类,不能生成对象,要用子类生成对象,FileInputStream FileOutStreamspa
第三种分法:节点流和处理流命令行
InputStream:code
void intread(byte [] b , int off , int len)
OutputStream:对象
void write(byte [] b , int off , int len)
实例:字符串
from.txt文件内容为it
123456789
Test.java 首先个人代码目录在d:/work/src/Test.java 而个人from.txt和to.txt也是在这目录下io
//第一步骤:导入类; import java.io.*; class Test{ public static void main(String args []){ //声明输入流引用 FileInputStream fis = null; try{ //生成表明输入流的对象 fis = new FileInputStream("d:/work/src/from.txt"); //生成一个字节数组 byte [] buffer = new byte[100]; //调用输入流对象的read方法,读取数据 fis.read(buffer, 0 ,buffer.length); String s = new String(buffer); //调用一个String对象的trim方法,将会去除掉这个字符串 //的首尾空格和空字符 s = s.trim(); System.out.println(s); } catch(Exception e){ System.out.println(e); } } }完成读操做。
Test2.java编译
//第一步骤:导入类; import java.io.*; class Test2{ public static void main(String args []){ //声明输入流引用 FileInputStream fis = null; FileOutputStream fos = null; try{ //生成表明输入流的对象 fis = new FileInputStream("d:/work/src/from.txt"); //生成表明输出流的对象 fos = new FileOutputStream("d:/work/src/to.txt"); //生成一个字节数组 byte [] buffer = new byte[100]; //调用输入流对象的read方法,读取数据 int temp = fis.read(buffer, 0 ,buffer.length); //调用输出流对象的write方法,写入数据 fos.write(buffer, 0, temp); //String s = new String(buffer); //调用一个String对象的trim方法,将会去除掉这个字符串 //的首尾空格和空字符 //s = s.trim(); //System.out.println(s); } catch(Exception e){ System.out.println(e); } } }完成读写操做。能够看到to.txt里的内容跟from.txt里的内容一致。
编译要在命令行里打javac Test.java
javac Test2.java
执行
java Test
java Test2