java使用方法输出到用户决定的文本文件
简而言之,我正在尝试创建一个方法,将a作为参数 输出文件流名称,然后允许用户写入该文本,并使用while循环附加到该文本。以下是我写的:
public void insertRowsToFile(OutputStream output) throws IOException {
Scanner keyboard = new Scanner(System.in);
//here is my mistake that i dont know how to solve (outputstream, boolean is undefined)
PrintWriter out = new PrintWriter(
new OutputStreamWriter(
new FileOutputStream(output, true)));
boolean answer = true;
while (answer == true) {
System.out.println("Enter the row:");
String entered = keyboard.nextLine();
out.println(entered);
System.out.println("Would you like to write more? (yes to continue)");
String answer2 = keyboard.next();
if (!answer2.equals("yes"))
answer = false;
}
}
}
# 1 楼答案
你的
output
变量应该是File
,而不是OutputStream
记住,
FileOutputStream
的构造函数只有在以下情况下才是合法的:new FileOutputStream(File, boolean)
new FileOutputStream(String, boolean)
以下是正确的方法声明:
编辑,未测试:或者更好的方法是保留
OutputStream
作为参数,但更改out
变量的初始化:编辑2:类
OutputStream
和File
之间的区别:OutputStream
:是一个抽象类,它接受输出字节并将它们发送到某个接收器李>File
:是一个类,是文件和目录路径名的抽象表示李>资料来源:TutorialsPoint.com