JAVA-IO流中FileReader和FileWriter方法的使用

来源:互联网 发布:大疆通信算法工程师 编辑:程序博客网 时间:2024/06/04 19:56

一、FileWriter方法的使用:

public static void main(String[] args) {FileWriter fw =null;try {//创建一个FileWriter对象,该对象一被初始化就必须要明确被操作的文件//而且该文件会被创建到指定目录下,如果该目录下已有同名文件,将被覆盖//其实该步就是在明确数据要存放的目的地fw= new FileWriter("Demo.txt",true); //这里传递一个true参数,代表不覆盖已有的文件,并在已有文件的莫维持进行数据续写//调用writer方法,将字符串写到流中fw.write("人这一辈子不能太懦弱,这样的话就有人会瞧不起你的,碉堡你知道吗?你再这样下去会没女票的哦亲。。。");fw.write("\r\n出来爱死你了");} catch (IOException e) {e.printStackTrace();}finally{if (fw!=null) {try {//关闭流资源,但是在关闭之前会刷新一次内容的缓存中数据,将数据刷新到目的地中//和flush的区别:flush刷新后,流可以继续使用,而close刷新后,会将流关闭。fw.close();} catch (IOException e) {e.printStackTrace();}}}}
二、FileReader方法的使用:
public static void main(String[] args) throws IOException{GetFileReader1();System.out.println("----------------");GetFileReader2();}//读取文件内容的方式一public static void GetFileReader1() throws IOException{//创建一个文件读取流对象,和指定名称的文件相关联。//要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundExceptionFileReader fr = new FileReader("Demo.txt");//调用读取流对象的read方法//read()一次只能读取一个字符,而且会自动往下读//while (true) {//int read = fr.read();//if (read==-1) {//break;//}//System.out.print((char)read);//在这里必须强转成char类型才能显示//}int read = 0;while ((read = fr.read())!=-1) {System.out.print((char)read);}fr.close();}/** * 第二种方式:通过字符数组进行读取 */public static void GetFileReader2() throws IOException{FileReader fReader = new FileReader("Demo.txt");//定义一个字符数组,拥有存储读到的字符//读read(char[])返回的是读到的字符个数char arr [] = new char[1024];int num = 0;while ((num=fReader.read(arr)) !=-1) {System.out.print(new String(arr,0,num));}
<span style="white-space:pre"></span>fReader.close();}
上面结果输出:

人这一辈子不能太懦弱,这样的话就有人会瞧不起你的,碉堡你知道吗?你再这样下去会没女票的哦亲。。。
出来爱死你了----------------
人这一辈子不能太懦弱,这样的话就有人会瞧不起你的,碉堡你知道吗?你再这样下去会没女票的哦亲。。。
出来爱死你了
三、练习:读取一个.java文件

//读取一个.java文件public static void Demo() throws IOException{FileReader fr= new FileReader("E:\\JAVA\\TestMap\\src\\com\\diaobao\\map\\TastMap.java");char [] render = new char[1024];int num= 0;while ((num = fr.read(render))!=-1) {System.out.print(new String(render,0,num));}}




0 0