IO流、续写、及Reader读取

演示对已有文件数据的续写及换行:

 

package CoreJavaPractice;

import java.io.*;
public class Practice_2 {

    public static void main(String[] args) throws IOException {
     //传递一个true参数、代表不覆盖已有的文件,并在已有的末尾处进行数据的续写。 FileWriter fw
= new FileWriter("demo.txt",true); fw.write("haha");

      // 换行、\n 记事本,多加一个\r\n
      fw.write("nihao,,,\r\nxiexie");


        fw.close();
        
    }
}

 

读取方式1:

Reader:read

有很多读的方法, 也有一个关的方法, 这个关的方法不刷新。  (因为你写东西要刷新,但是你读东西根本不用刷新)

package CoreJavaPractice;

import java.io.*;
public class Practice_2 {

    public static void main(String[] args) throws IOException {
        // 创建一个文件读取流对象,和指定名称文件相关联
        //要保证该文件时已经存在的,如果不存在,会发生异常:FileNotFoundException(IO异常子类)
        FileReader fr = new FileReader("demo.txt");
        
        //调用一个read方法,read方法读到最后会返回-1
        //read 方法一次读一个字符,而且会自动往下读、所以用一个循环直接搞定,判断条件是这个返回的值不等于-1就运行
        int ch = 0;
        while((ch=fr.read())!=-1)
        {
            sop("ch="+(char)ch);
        }
    }
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
}

读取方式2:

通过字符数组进行读取:

package CoreJavaPractice;

import java.io.*;
public class Practice_2 {
    public static void main(String[] args) throws IOException {
        FileReader fr = new FileReader("demo.txt");
        
        //定义一个字符数组,用于存储读到的字符。
        //该read(char[])返回的是读到字符个数
        char[] buf = new char[1024];
        int num = 0;
        while((num=fr.read(buf))!=-1)
        {
            sop("num="+num+"..."+ new String(buf,0,num));
        }
        fr.close();
        
    }
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
}

 

 

posted @ 2019-09-07 11:18  蚂蚁雅黑1010  阅读(190)  评论(0编辑  收藏  举报