1.一行一行地读取文件中的内容

package com.ydlclass.feature;

import org.junit.Test;

import java.io.*;
import java.util.Random;

public class IOTest {
    String tarPath;

    public String getTarPath() {
        return tarPath;
    }

    public void setTarPath(String tarPath) {
        this.tarPath = tarPath;
    }

    @Test
    //处理流的使用,比如想一行一行的读取数据
    public void testHandlerStream() throws IOException {
        Reader inputStream1 = new FileReader("D:\\Product.log");
        BufferedReader bufferedReader = new BufferedReader(inputStream1);//处理流,实现按行读取文件
        Writer outputStream1 = new FileWriter("E:\\Product.log");
        BufferedWriter bufferedWriter = new BufferedWriter(outputStream1);//处理流,实现按行输出取文件
        long start = System.currentTimeMillis();
        byte[] bytes = new byte[1024 * 1024];//将每次运货箱的大小提升;这样只需要进行比较少的i/o操作就可以完成;
        // 如果还想优化新能,那么可以使用多线程;或者使用nio
        char[] chs = new char[1024 * 1024];
        String content; //注意方法的返回值是一个怎样的类型

        while ((content = bufferedReader.readLine()) != null) {
            System.out.println(content);
            System.out.println("______________");//这样可以证明其是一行一行的读取文件的
            bufferedWriter.write(chs);
        }
        long end = System.currentTimeMillis();
        System.out.println("单字节搬运:" + (end - start));

        bufferedReader.close();//关闭字符流资源
        bufferedWriter.close();
    }

}




2.将输入的字符串输出至指定的文本中(由于junit不支持控制台输入),于是换成main方法

package com.ydlclass.feature;

import org.junit.Test;

import java.io.*;
import java.util.Random;
import java.util.Scanner;

public class IOTest {
    //使用处理流直接将输入的字符串输出到文本之中
    public  static void main(String[] args) throws IOException {
        Writer outputStream1 = new FileWriter("E:\\Product.log");
        BufferedWriter bufferedWriter = new BufferedWriter(outputStream1);//处理流,实现按行输出取文件

        char[] chs = new char[1024 * 1024];
        while(true){
            Scanner scanner = new Scanner(System.in);
            String content = scanner.next();
            bufferedWriter.write(content);//将内容刷新至文本中
            bufferedWriter.newLine();//每次输入完会换行
            bufferedWriter.flush();//每次写完之后舒心亦喜爱
        }

    }

}