some advice?
package com.codegym.task.task18.task1820;
/*
Rounding numbers
• Il programma dovrebbe leggere due volte il nome di un file dalla console.
• Crea un flusso di input per il primo file. Crea un flusso di output per il secondo file.
• Leggi i numeri dal primo file, arrotondali e scrivili nel secondo file, separati da spazi.
• L'arrotondamento deve essere eseguito come indicato nell'attività.
• I flussi di file devono essere chiusi.
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
//Leggi 2 nomi di file dalla console.
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String file1 = bufferedReader.readLine();
String file2 = bufferedReader.readLine();
// chiudi il flusso
bufferedReader.close();
// Crea un flusso di input per il primo file.
// crea un flusso per la lettura del file -> Crea un oggetto FileInputStream legato a nomeFile
FileInputStream inputStreamFile1 = new FileInputStream(file1); // crea un flusso di input per il file che vuoi leggere
// Crea un flusso di output per il secondo file.
// crea un flusso per la scrittura del file -> Crea un oggetto FileOutputStream legato a nomeFile
FileWriter fileWriter = new FileWriter(file2);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
// Leggi i numeri dal primo file, arrotondali e scrivili nel secondo file, separati da spazi.
// FileInputStream legge byte, per leggere testo avvolgeremo FileInputStream
// con BufferedReader, per farlo bisogna prima avvolgerlo in un InputStreamReader
InputStreamReader inputStreamReaderFile1 = new InputStreamReader(inputStreamFile1);
BufferedReader inputBufferFile1 = new BufferedReader(inputStreamReaderFile1);
while (inputBufferFile1.ready()) {
double numDouble = Double.parseDouble(inputBufferFile1.readLine()); // acquisire la stringa trasformandola in numeri reali
// Arrotondare i numeri a numeri interi
int numInt = (int) Math.round(numDouble);
// int numInt = (int) numDouble;
// scrivere nel secondo flusso
bufferedWriter.write(String.valueOf(numInt));
bufferedWriter.write(" ");
}
// chiudi i flussi di lettura
inputStreamFile1.close();
bufferedWriter.close();
inputStreamReaderFile1.close();
inputBufferFile1.close();
}
}