我正在学习Java阅读和写作,并坚持一个简单的练习。该程序从2个txt文件中读取,每个文件包含行中的数字。它向输出文件写入每行数字相乘的结果。例如。文件1行1:10,文件2行1:2,程序应该向输出文件写入20。我的代码似乎在某处丢失了一些东西。输出文件被创建,但没有写入它。有任何想法吗?DataInputStream用于输入文本文件?
import java.io.*;
import java.util.*;
class ReadWriteData
{
public static void main(String[] args) throws Exception
{
//create ouput file
PrintWriter output = new PrintWriter("output2.txt");
DataInputStream file1 = new DataInputStream(new FileInputStream(args[0]));
DataInputStream file2 = new DataInputStream(new FileInputStream(args[1]));
try
{
// read data from file
while (true)
{
double number1 = file1.readDouble();
double number2 = file2.readDouble();
double result = number1 * number2 ;
output.println(result);
}
}
catch (IOException e)
{
System.err.println("Error");
System.exit(1);
}
output.close() ;
}
}
非常真实,但是特定片段是否能够成功运行并生成一个没有任何异常的空文件? – BalusC 2011-01-22 16:07:48
我认为由于未能如其他答案中指出的那样关闭输出,因此代码段“非常规”。 – bmargulies 2011-01-22 16:46:56