------- android培训、java培训、期待与您交流! ----------
一.基本概念
IO流是指一些能够实现数据在设备上传输的类。
1.IO流的分类
按数据类型分:字节流 字符流
按流的方向分:输入流,输出流
2.IO流的基类
字节流的抽象基类
输入 输出
InputStream OutputStream
字符流的抽象基类
Reader Writer
3.IO流常用子类
--FileWrite文件字符输出流(数据从程序向外输出)
示例代码:
// 调用构造函数,创建与指定文件相关联的FileWrite对象,给构造函数传递参数时,如果只传递文件路径一个参数,不管该文件存在与否,都会创建一个新的文件(新文件会覆盖旧文件)。
FileWrite fw = new FileWrite(String path);//path是生成文件的路径须包含文件名。
//调用write()方法将数据写到FileWrite对象的缓冲区。
fw.write("abcdefghijklmnopqrstuvwxyz");
//调用flush()方法刷新缓冲区,将数据刷入FileWrite对象对应的文件。
//关闭占用的系统资源,在关闭前会刷新缓冲区。
fw.close()
使用FileWrite进行文件数据续写
1.调用FileWrite构造函数,并传递一个true为参数,表示如果文件存在,就不创建新文件覆盖已有的文件。
FileWrite fw = new FileWrite(String path , true);
2.调用write()方法将数据写到FileWrite对象的缓冲区。
fw.write(data); //数据换行写,只需在数据中加入\r\n
3.调用flush()方法刷新缓冲区,将数据刷入FileWrite对象对应的文件中。
fw.flush();
4.调用close()方法关闭占用的系统资源
fw.close();
--FileReader文件字符输入对象(数据从外向程序输入)
1.创建与指定文件相关联的字符输入对象,如果文件不存在,会发生FileNotFoundException。
FileReader fr = new FileReader(String path);
2.调用FileReader对象的read()方法将数据读入程序。
fr.read()//该方法一次读取一个字符,并把读取的字符转换为int类型的值返回,读到文件末尾是返回-1。
read(char[] ary)一次读取多个数据(最多读取的长度为数组长度),并将读取的数据存放在char[],注:该方法返回的是,读取字符的个数。
使用循环语句读取数据
char[] buf = new char[1024]
int num = 0;
while(num!=-1){
num= fr.read(buf);
}
System.out.println(new String(buf,0,num));