Salve a tutti ! Ho una domanda da proporvi
in un esercizio di java devo creare una classe chiamata FileMerger. All' interno di questa classe devo unire due file .txt in un unico file chiamato output.txt. Fin qui sono riuscito a farlo senza problemi, l'unica cosa che questi due file uniti devono essere stampati prima in ordine crescente, poi in ordine lessicografico; quindi se il file1. txt contiene:
Questo e' il
contenuto
del primo file
di prova
e il secondo file chiamato file2.txt contiene:
Questo
e' il contenuto del
secondo file di prova
devo ottenere, per quanto riguarda la stampa in ordine crescente, una cosa del genere:
contenuto
Questo
di prova
Questo è il
del primo file
è il contenuto del
secondo file di prova
e invece per quanto riguarda la stampa ottenuta in ordine lessicografico devo ottenere:
contenuto
del primo file
di prova
è il contenuto del
Questo
Questo è il
secondo file di prova
il codice che ora posto semplicemente unisce i due file di testo
codice:
import java.io.*;
import java.util.*;
public class FileMerger
{
public static void main(String[] args)
{
String x, y, outputFile;
Scanner in = new Scanner(System.in);
System.out.println("Inserisci i nomi dei file: ");
x = in.nextLine();
y = in.nextLine();
System.out.println("Inserisci il nome del file in cui vuoi che i due file precedentemente immessi vengano copiati");
outputFile = in.nextLine();
CopiaIncolla(outputFile, x, y);
}
public static void CopiaIncolla(String output, String x, String y)
{
try
{
PrintWriter daLeggere = new PrintWriter("output.txt");
Scanner file1 = new Scanner(new File("file1.txt"));
Scanner file2 = new Scanner(new File("file2.txt"));
FileWriter writer = new FileWriter("output.txt", true);
PrintWriter daLeggere2 = new PrintWriter(writer);
while(file1.hasNextLine())
{
String s = file1.nextLine();
//System.out.println(s);
daLeggere.println(s);
System.out.println(" Prova immissione riga " + daLeggere);
}file1.close();
daLeggere.close();
while(file2.hasNextLine())
{
String t = file2.nextLine();
daLeggere2.println(t);
System.out.println("Prova immissione riga 2 " + daLeggere2);
}file2.close();
daLeggere2.close();
}
catch(FileNotFoundException e)
{
System.out.println("Eccezione: FileNotFoundException");
}
catch(IOException e)
{
System.out.println("Eccezione: IOException");
}
}
}
Soluzioni ?