我必须从文件中读取一个数字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();
}
答案 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();
}
此语法会自动关闭文件。