无法将输出保存到文件

时间:2015-03-18 20:33:52

标签: java

我必须从文件中读取一个数字8,然后将输出保存到同一个文件中。一切都很好,但不知何故输出没有显示在文件中。我不知道什么是错的。任何帮助将不胜感激。

import java.util.Scanner;
import java.io.*;

public  class RomanNumerals
{
    public static void main(String[] args)throws IOException
    {
        // Reading data from the file.
        Scanner inputFile = new Scanner(new FileReader("C:\\Users\\IRC115\\Documents\\NumberValue.txt"));

        // Declare the variable.
        int number;

        // Reading the value from the file.
        number = inputFile.nextInt();

        // Close the input file.
        inputFile.close();

        // Create the PrintWriter Object.
        FileWriter fwriter =
            newFileWriter("C:\\Users\\IRC115\\Documents\\NumberValue.txt",true);
        PrintWriter outputFile =
            new PrintWriter(fwriter);

文件的路径是正确的。我执行程序时没有收到错误。开关声明是否正确?我没有看到任何错误。

switch (number)
{
    case 1:
    outputFile.println("I");
    break;

    case 2:
    outputFile.println("II");
    break;

    case 3:
    outputFile.println("III");
    break;

    case 4:
    outputFile.println("IV");
    break;

    case 5:
    outputFile.println("V");
    break;

    case 6:
    outputFile.println("VI");
    break;

    case 7:
    outputFile.println("VII");
    break;

    case 8:
    outputFile.println("VIII");
    break;

    case 9:
    outputFile.println("IX");
    break;

    case 10:
    outputFile.println("X");
    break;

    default:
    outputFile.println("Invalid number.");

    // Close the output file.
    outputFile.close();
}

1 个答案:

答案 0 :(得分:0)

了解Oracle对文件的建议: http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

要回答您的问题,如前所述,您可能只需要关闭文件以使代码正常工作,但使用try-with-resources语法(如果使用Java 7 +)会更好。

try (BufferedReader br = new BufferedReader(new FileReader(path))) {
    return br.readLine();
}

此语法会自动关闭文件。