【发布时间】:2012-08-13 15:51:59
【问题描述】:
我是 java 的初学者,并为后缀评估编写了以下问题。虽然该程序适用于控制台 IO。使用文件时有问题。我试图在文件output00.txt 中获取程序的答案,但文件为空。
这是代码。我省略了与此问题无关的方法。
public static void main(String[] args) throws Exception {
FileReader input = new FileReader("input00.txt");
BufferedReader in = new BufferedReader(input) ;
FileWriter output = new FileWriter("output00.txt");
BufferedWriter out = new BufferedWriter(output);
while (true) {
String lineReader = in.readLine();
if (lineReader==null) {
break;
}
Stack<String> m_Stack = new Stack<String>();
m_Stack.addAll(Arrays.asList(lineReader.trim().split("[ \t]+")));
if (m_Stack.peek().equals("")){
continue;
}
try {
double finVal = evaluateRPN(m_Stack);
if (!m_Stack.empty()) {
throw new Exception();
}
out.write(finVal + "\n");
}
catch (Exception e) {System.out.println("error");}
}
}
文件 input00.txt 包含
8 9 +
7 6 -
7 7 * 9 -
【问题讨论】:
-
您是否在正确的位置寻找输出文件?尝试删除并查看它是否被重新创建。代码看起来不错,只是您没有关闭输出流。顺便说一句,这是作业吗?
标签: java file-io bufferedreader