---------------------- android培训、java培训、期待与您交流! ----------------------
基本要点
1、 字符流与字节流,字节流不能处理Unicode,这个由字符流实现
2、 流的层次结构:建立在四个抽象类基础上
下面做一个字符输入流和字符输出流
package horse;
import java.io.*;
/**这是一个字符输入流
* @param args
*/
public class CharStreamIn {
public static void main(String[] args) throws Exception{
//创建字符输入流对象,必须保证该文件的存在
FileReader fr = new FileReader("e:/zz.txt");
//读取的方式和字节流相似,用到whlie循环返回值为-1表读完
//也是先声明读取的字节数
int length = 0;
while(-1!=(length=fr.read())){
System.out.println((char)length);
}
//还有第二种读取方式,可以读很多个字节
int len = 0;
char[] bu = new char[10];
while(-1!=(len=fr.read(bu)));{
System.out.println(new String(bu,0,len));
}
fr.close();
}
}
package horse;
import java.io.*;
/**这是一个字符输出流
* @param args
*/
public class CharStreamOut {
public static void main(String[] args) throws Exception {
//创建FileWriter对象,true表追加而不是覆盖
FileWriter fw = new FileWriter("e:/zz.txt",true);
//将字符串写入到流中
fw.write("asdf");
//刷新流对象中的缓存区数据,
fw.flush();
//在写
fw.write("qwer");
fw.flush();
//关闭FileWriter对象释放资源
fw.close();
}
}
总结:
感受:i/o流与文件输入输出关系极大,其实在我没使用操作系统时,很多情况都需读入读出。Window里有个记事本,如果要用好java实现的话就是一个Frame对象套一个文字输入组件(TextArea)在Frame上添个Menu,加上这里面的i/o流实现的,没试过有这个想法,以后再试试。这里的i/o流就像幕后工作者,默默支持整个程序的运行。就算是幕后也是少不得的,不能说你看不到就说没有,看到的也不一定真实呢!就像鬼神之说一样,呵呵,你说有没有呢?
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima