Я учусь читать и писать на 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