java - 无法让程序正常写入和显示

标签 java

好吧,是时候让菜鸟难受了。我正在编写一个程序,该程序应该使用一种算法将所有从 1 到 100 的偶数整数写入文件,关闭文件,然后显示结果。然后 id 应该将 1 到 100 之间的所有奇数整数附加到文件中,关闭文件,重新打开并显示结果。就像是: 第 1 个列表 - 2、4、6、8、.......、98、100 第二个列表 - 2, 4, 6, 8, ...., 98, 100, 1, 3, 5, ...., 97, 99

我得到了偶数(第一个)列表。第二个列表仅显示奇数。当然,这很简单,通常是这样。我的大脑现在很困惑,我没有看到它。感谢您的帮助!!

package textFileIO;

import java.io.*;


public class TextFileIO {
public static void main(String[] args) throws Exception {

    //Create newFile
    File newFile = new File("numbers.dat");
    newFile.createNewFile();



    int evenNum = 0;
    int oddNum = 0;

   try{
       BufferedWriter writer = new BufferedWriter(new FileWriter(newFile)); 


    //Loop from 1 to 100
    for (int i = 2; i <= 100; i+=2)
    { 
       evenNum += i + 1;
       writer.write("" + i + ", ");
    }   

    writer.newLine();
    writer.close();

    BufferedReader reader = new BufferedReader(new FileReader(newFile));
    System.out.println(reader.readLine());

    reader.close();

    BufferedWriter writer2 = new BufferedWriter(new FileWriter(newFile, true)); 

    for(int i = 1; i < 100; i +=2) {  
            oddNum += i;  
            writer2.write("" + i + ", ");  
        }  
    writer2.newLine();
    writer2.close();

    BufferedReader reader2 = new BufferedReader(new FileReader(newFile));

    System.out.printf(reader2.readLine());

   }

   catch (Exception e){

   }
 }
}

最佳答案

writer2 的声明更改为

BufferedWriter writer2 = new BufferedWriter(new FileWriter(newFile, true)); 

true 将使编写器追加到现有文件,而不是覆盖它。

关于java - 无法让程序正常写入和显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19128667/

相关文章:

java - 有什么办法可以避免这个 "Attribute value must be constant"错误吗?

java - Struts + Spring + Hibernate 集成

java - 声明不必要的较大数据类型、变量类型及其性能

java - 是否可以忽略异常?

java - 替换@SequenceGenerator,因为它已被弃用

Java Swing Timer 第一次实例崩溃

java - Thread.sleep() 在其他语句之前暂停 JFrame

java - 如何在 myBatis 的查询中使用 IN()

java - 使用 Hibernate 条件查询无顺序

java - 如何使用 java Jersey 在资源内发出 HTTP 请求?