Java 正在进行覆盖的程序
我正在制作一个程序,接受10个字符串并将它们发送到文本文件。但是,我的问题是,它只是覆盖了文件中以前的任何值。有没有办法防止它被覆盖? 我的计划如下:Java 正在进行覆盖的程序,java,io,bufferedreader,bluej,inputstreamreader,Java,Io,Bufferedreader,Bluej,Inputstreamreader,我正在制作一个程序,接受10个字符串并将它们发送到文本文件。但是,我的问题是,它只是覆盖了文件中以前的任何值。有没有办法防止它被覆盖? 我的计划如下: import java.io.*; public class TEST { public static void main(String args[])throws IOException { InputStreamReader read=new InputStreamReader(System.in);
import java.io.*;
public class TEST
{
public static void main(String args[])throws IOException
{
InputStreamReader read=new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(read);
int a;
String x;
for (a=1; a<=10; a++)
{
System.out.println("Please enter a word.");
x=in.readLine();
PrintStream konsole = System.out;
System.setOut(new PrintStream("TEST.txt"));
System.out.println(x);
System.setOut(konsole);
}
System.out.println("DONE");
}
}
import java.io.*;
公开课考试
{
公共静态void main(字符串args[])引发IOException
{
InputStreamReader read=新的InputStreamReader(System.in);
BufferedReader in=新的BufferedReader(读取);
INTA;
字符串x;
对于(a=1;a尝试写入输出流(不是重定向的System.out
)
使用FileOutputStreams
可以选择是否要附加到文件或写入新文件(构造函数中的布尔值,请查看JavaDoc)。
请尝试使用此代码为文件创建一个输出流,该输出流不会覆盖该文件,而是附加到该文件中
OutputStream out=新文件OutputStream(新文件(“Test.txt”),true);
还要确保不要在循环的每次迭代中创建流,而是在循环开始时创建流
如果在循环之后(在finally块中)也关闭了输出流,则应该可以。尝试写入输出流(而不是重定向的System.out
)
使用FileOutputStreams
可以选择是否要附加到文件或写入新文件(构造函数中的布尔值,请查看JavaDoc)。
请尝试使用此代码为文件创建一个输出流,该输出流不会覆盖该文件,而是附加到该文件中
OutputStream out=新文件OutputStream(新文件(“Test.txt”),true);
还要确保不要在循环的每次迭代中创建流,而是在循环开始时创建流
如果在循环之后(在finally块中)也关闭了输出流,那么就应该可以了。这应该对您有用:
public static void main(String[] args) throws IOException {
InputStreamReader read=new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(read);
OutputStream out = new FileOutputStream(new File("TEST.txt"), true);
for (int a=1; a<=10; a++)
{
System.out.println("Please enter a word.");
out.write(in.readLine().getBytes());
out.write(System.lineSeparator().getBytes());
}
out.close();
System.out.println("DONE");
}
publicstaticvoidmain(字符串[]args)引发IOException{
InputStreamReader read=新的InputStreamReader(System.in);
BufferedReader in=新的BufferedReader(读取);
OutputStream out=新文件OutputStream(新文件(“TEST.txt”),true;
对于(int a=1;a这应该适用于您:
public static void main(String[] args) throws IOException {
InputStreamReader read=new InputStreamReader(System.in);
BufferedReader in=new BufferedReader(read);
OutputStream out = new FileOutputStream(new File("TEST.txt"), true);
for (int a=1; a<=10; a++)
{
System.out.println("Please enter a word.");
out.write(in.readLine().getBytes());
out.write(System.lineSeparator().getBytes());
}
out.close();
System.out.println("DONE");
}
publicstaticvoidmain(字符串[]args)引发IOException{
InputStreamReader read=新的InputStreamReader(System.in);
BufferedReader in=新的BufferedReader(读取);
OutputStream out=新文件OutputStream(新文件(“TEST.txt”),true;
对于(int a=1;ano这不是那个问题的重复!我是在请人调试我的程序!@user2987896不要请人调试你的程序,我们不是你的编译器/调试器。对于代码审查,有一个单独的网站。保持友好,表现出努力,人们会帮助你。开始争论,事情从此白费力气。除此之外,欢迎来到Stack Overflow。@Matthias抱歉!我不知道这一点!你能告诉我网站名称吗?@user2987896请看这里:我在这个网站上不活跃,请务必阅读他们的“关于和帮助”页面,以确保你的问题与他们的主题一致。不,这不是那个问题的重复!我是在问别人o调试我的程序!@user2987896不要要求别人调试你的程序,我们不是你的编译器/调试器。对于代码审查,有一个单独的网站。保持友好,显示努力,人们会帮助你。开始争论,事情就这样白费了。除此之外,欢迎光临堆栈溢出。@Matthia抱歉!我不知道这个!你能告诉我网站名吗?@user2987896在这里看一下:我在这个网站上不活跃,请务必阅读他们的“关于”和“帮助”页面,以确保你在那里回答你的问题。getBytes()的用途是什么?@user2987896将字符串转换为字节数组。请参阅此处的javadocs:getBytes的用途是什么()?@user2987896将字符串转换为字节数组。请参阅此处的javadocs: