在java中读取文件时删除的内容

在java中读取文件时删除的内容,java,Java,我正在写一个代码,检查一个数字是否是素数,如果是,在文件中打印它,但当我打开InputStream时,它会自动删除我文件中的内容! 这是我的密码 import java.util.Scanner; import java.io.*; @SuppressWarnings("all") public class PrimeList { public static void main(String[]args) throws NumberFormatException, IOException {

我正在写一个代码,检查一个数字是否是素数,如果是,在文件中打印它,但当我打开InputStream时,它会自动删除我文件中的内容! 这是我的密码

import java.util.Scanner;
import java.io.*;
@SuppressWarnings("all")
public class PrimeList {
public static void main(String[]args) throws NumberFormatException, IOException {
    String name = "C:\\Text\\primelist.txt";
    File file = new File(name);
    try {
        OutputStreamWriter wr = new OutputStreamWriter(new FileOutputStream(file));
        BigInteger bi = BigInteger.valueOf(5);
        BigInteger zero = BigInteger.ZERO;
        BigInteger two = BigInteger.valueOf(2);
        while(true) {
            BufferedReader read = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
            while(true) {
                BigInteger prime = BigInteger.valueOf(Long.parseLong(read.readLine()));

有人能告诉我如何解决这个问题吗?

因为你正在这样做

BufferedReader read=新的BufferedReader(新的InputStreamReader(新文件InputStream(文件)))


每次调用该方法时,您都在创建新的FileInputStream(文件),因为您正在这样做

BufferedReader read=新的BufferedReader(新的InputStreamReader(新文件InputStream(文件)))

每次调用该方法时,您都在创建新的FileInputStream(文件)

应使用新的FileOutputStream(文件,true)
。 “true”表示“追加”。

应使用新文件输出流(文件,true)

“true”表示“append”。

请显示程序的全部代码。您正在同一个文件上读写…首先读取该文件。。。然后创建新文件并将结果附加到该文件上。请显示程序的全部代码。您正在同一文件上读写…首先读取该文件。。。然后创建新文件并将结果附加到该文件上。