Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在进行覆盖的程序_Java_Io_Bufferedreader_Bluej_Inputstreamreader - Fatal编程技术网

Java 正在进行覆盖的程序

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);

我正在制作一个程序,接受10个字符串并将它们发送到文本文件。但是,我的问题是,它只是覆盖了文件中以前的任何值。有没有办法防止它被覆盖? 我的计划如下:

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: