/*
流分为字节流和字符流
字节流
InputStream OutputStream
字符流
Reader Writer
*/
import java.io.*;
class FileWriterDemo
{
public static void main(String[] args)
{
//创建一个FileWriter对象,该对象一被初始化就必须要明确被操作的文件
/*
FileWriter fw = null; //在外面创建引用,在try进行初始化
try{
//调用 write方法 ,将字符串写入到流中
fw = new FileWriter("demo.txt",true);
//刷新流对象中的缓冲中的数据, 将数据刷到目的地中
//传递一个true参数,代表不覆盖已有的文件,并在原有文件末尾续写
fw.write("afdf\r\nds");
}
catch(IOException e)
{
System.out.println(e.toString());
}
finally
{
try
{
//关闭资源,但关闭之前会刷新一次内部的缓冲中的数据
if(fw!=null) // finally中必须要到fw进行判断
fw.close();
}
catch(IOException e)
{
System.out.println(e.toString());
}
}
*/
//创建一个文件读取流对象,和指定名称的文件相关联
//要保证文件是存在的,否则会发生异常
/*
FileReader fr = null;
try
{
fr = new FileReader("demo.txt");
int num = 0;
while((num=fr.read())!=-1)
{
System.out.print((char)num);
}
}
catch(IOException e )
{
System.out.println(e.toString());
}
finally
{
try
{
if(fr!=null)
fr.close();
}
catch(IOException e)
{
System.out.println(e.toString());
}
}
*/
/*
第二种方式读取:通过字符数组读取
*/
FileReader fr = null;
try
{
fr = new FileReader("demo.txt");
//定义一个字符数组,用于存储读到的字符
char[] buf = new char[1024];
//返回的是读取的字符数
int num = 0;
while((num = fr.read(buf))!=-1)
{
System.out.print("num="+num+"..."+new String(buf,0,num));
}
}
catch(IOException e)
{
System.out.println(e.toString());
}
finally
{
try
{
if(fr != null)
fr.close();
}
catch(IOException e)
{
System.out.println(e.toString());
}
}
}
}
IoStream
最新推荐文章于 2022-04-13 18:20:33 发布