一、常用基本操作
(1)IO流的写(以文件为主演示)
/*
字符流和字节流字节流两个基类:
InputStream OutputSteam
字符流两个基类:
Reader Writer
既然IO流用于操作数据
那么数据的最常见体现形式是:文件
那么先一操作文件为主来演示
需求:在硬盘上创建一个文件并写入一些数据
找到一个专门用于操作文件的Wrter子类对象,FileWriter,后缀名是父类名,前缀名是该流对象的功能
*/
import java.io.*;
class FileWriterDemo
{
public static void main(String[] args) throw IOException
{
//创建一个FileWriter对象,该对象一被初始化就必须要明确被操作的文件。
//而且该文件会被创建大指定的目录下。如果该目录下已有同名文件,将被覆盖。
//其实该步就是在明确数据要存放的目的地。
FileWriter fw = new FileWriter("demo.txt");
//调用write方法,将字符串写入到流中。
fw.write("ancde");
//刷新流对象中的缓冲中的数据
//将数据刷到目的地中。
//fw.flush();
//关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据
//将数据刷到目的地中
//和flush区别,flush刷新后。流可以继续使用,close刷新后,流将会关闭。
fw.close();
}
}
(2)IO流的读(以操作文件为主)
import java.io.*;
class FileReaderDemo
{
/*
IO流常用基类
1.字节流的抽象基类:
InputStream , OutputStream
2.字符流的抽象基类:
Reader , Writer
注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
如:InputStream 的子类FileInputStream.
如:Reader的子类FileReader.
*/
public static void main(String[] args) throws IOException
{
//创建一个文件读取流对象,和指定名称的文件相关联
//要保证该文件时已经存在的,如果不存在,会发生异常,FileNotFoundException
FileReader fr = new FileReader("demo.txt");
//调用读取流对象的read方法
//read();方法一次读一个字符,而且会自动往下读。
int ch = 0;
while((ch=fr.read())!=-1)
{
System.out.println((char)ch);
}
/*while(true)
{
int ch = fr.read();
if(ch==-1)
break;
System.out.println("ch="+(char)ch);
*/
fr.close();
}
}