java io系统,用了一个很巧妙的设计模式.
1.I/O操作的目标.
2.I/O的分类方法.
3.读取文件和写入文件的方法.
1.I/O操作的目标
从数据源当中读取数据,以及将数据写入到数据目的地当中.
I/O流向
文件 ==输入 ===== ===== 输出 == 文件
键盘 =======> java程序 ========> 屏幕
网络 网络
...... .......
所谓的输入输出是个方向的问题,
所谓的方向,必须有一个参照物的物体.
相对于java应用程序本身.
IO的分类.
第一种分法:
1.输入流
2.输出流.
第二种分法
1.字节流.
2.字符流.
第三种分法
1.节点流
2.处理流.
在java的世界里面,所有的东西都是对象.
输入,输出流都是对象.
要有对象,先有类
I/O当中的核心类.
抽象类 InputStream OutputStream (所有字节流的父类)
/ \ /
| |
| |
FileInputStream FileOnputStream
(最常用的子类)
这4个类是处理字节流核心类,字符流核心类下节课介绍.
核心类的核心方法
InputStream
intread(byte[] b, int off , int len)
OutputStream
void write(byte[] b ,int off ,in len);
总结:
1. I/O系统的主要目标是为了对数据进行读写操作.
2.数据的流向以java程序为参照物
3.I/O流可以有三种分类方法.
4.read方法和writer方法.
//第一步骤:导入类; import java.io.*; class Test{ public static void main(String args[]){ //声明输入流引用 FileInputStream fis = null; //声明输出流引用 FileOutputStream fos = null; try{ //生成代表输入流的对象. fis = new FileInputStream("g:/srclxm/from.txt"); //生成代表输出流的对象 fos = new FileOutputStream("g:/srclxm/to.txt"); //生成一个字节数组 byte [] buffer = new byte[100]; //调用输入流对象的read方法,读取数据 //fis.read(buffer,0,buffer.length); int temp =fis.read(buffer,0,buffer.length); fos.write(buffer,0,temp); //for(int i = 0; i < buffer.length; i++){ // System.out.println(buffer[i]); String s = new String(buffer); //调用一个String对象的 trim方法,将会去除掉这个字符串 //的首尾空格和空字符. s = s.trim(); System.out.println(s); //} } catch(Exception e){ System.out.println(e); } } }