以下内容来自marschen的java4android视频教程
本集主要内容.
里面很多很多的类,
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);
}
}
}