我正在學習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