从标准输入流中读取数据,并存储到文件中

来源:互联网 发布:詹姆斯总决赛所有数据 编辑:程序博客网 时间:2024/04/30 13:32
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
/**
 * 从标准输入流中读取数据,并存储到文件中
 */
public class CatStdinToFile {
 
    public static boolean catStdinToFile(String fileName){
        File file = new File(fileName);
        //将数据按照文本输出到文件
        PrintWriter writer = null;
        BufferedReader in = null;
        try {
            //为输出文件建立一个写入器
            writer = new PrintWriter(new FileWriter(file));
            System.out.println("请输入文件内容,输入quit结束");
            //用BufferedReader包装标准输入流
            in = new BufferedReader(new InputStreamReader(System.in));
            String inputLine = null;
            while (((inputLine = in.readLine( )) != null) && (!inputLine.equals("quit"))) {
                writer.println(inputLine);
            }
            //如果采用new PrintWriter(new FileWriter(file), true)则会自动flush。
            writer.flush();
            writer.close();
            return true;
        catch (IOException e) {
            System.out.println(e.getMessage());
            return false;
        finally {
            if (in != null){
                try {
                    in.close();
                catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
 
    public static void main(String[] args) {
        String fileName = "C:/temp/temp.java";
        CatStdinToFile.catStdinToFile(fileName);
        System.out.println();
        System.out.println("输出文件的内容:");
        ReadFromFile.readFileByLines(fileName);
    }
}
0 0
原创粉丝点击