【问题标题】:How to write the output to console and file?如何将输出写入控制台和文件?
【发布时间】:2016-01-14 18:45:02
【问题描述】:

我必须输出方法 sayHello() 两次。 输出应写入控制台,并写入文件一次。 我写了一些代码,但我没有成功。

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;

public class Utility {

    public static void main(String[] args){
        try(OutputStream src = new FileOutputStream("C:/Users/baum/Documents/TestText.txt");
        InputStream dest = new FileInputStream("C:/Users/baum/Documents/TestText.txt")){
        sayHello(src, dest);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
}

    public static void sayHello(OutputStream src, InputStream dest)throws IOException{

        String t = "Hello World!!!";
        OutputStreamWriter out = new OutputStreamWriter(src);
        InputStreamReader in = new InputStreamReader(dest);

        out.write(t.toCharArray());

        out.flush();
        in.close();
    }
}

【问题讨论】:

  • 所以如果你要输出到控制台,你所需要的只是你的 sayHello() 方法中的一个打印语句......
  • 顺便说一句,您可以使用out.write(t);,这比out.write(t.toCharArray()); 更有效您也可以使用System.out.println(t); 来写入控制台。

标签: java io fileinputstream fileoutputstream


【解决方案1】:
try {
    for (String line : Files.readAllLines(Paths.get("C:\\path\\to\\text.txt"))) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

这可能是一个更好的方法

【讨论】:

    猜你喜欢
    • 2017-09-30
    • 2020-04-10
    • 2012-12-18
    • 2023-03-16
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    相关资源
    最近更新 更多