私は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
私は、スニペットが他の回答で指摘されているようにアウトプットを閉じることができなかったため、「例外的ではない」と思っています。 – bmargulies