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

时间:2017-01-02 13:18:09

标签: java

我正在编写一个代码,用于检查数字是否为素数,如果是,则将其打印在文件中,但是当我打开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()));

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

2 个答案:

答案 0 :(得分:2)

因为你这样做

BufferedReader read = new BufferedReader(new InputStreamReader(new FileInputStream(file)));

每次调用方法

时,都在创建新的FileInputStream(文件)

答案 1 :(得分:2)

应该使用

new FileOutputStream(file, true)。 '真正的'意味着追加'。