【发布时间】: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