package filetrenner;
import java.awt.Color;
import java.util.Scanner;
import java.io.*;
import javax.swing.JFileChooser;
public class Main {
private File fileDestinazione
; private int maxCaratteri;
public int riprovare()
{
System.
out.
print("Vuoi riprovare?[s/n] "); Scanner leggi
= new Scanner
(System.
in); risp = leggi.next();
if(risp.contains("s"))
{
this.setI();
}
return 0;
}
public void chiudiStreams()
{
destinazione.close();
fonte.close();
this.riprovare();
}
public void setI()
{
System.
out.
print("Caratteri per riga:[intero] "); Scanner in
= new Scanner
(System.
in); maxCaratteri = in.nextInt();
}
public void setSorgente()
{
finestraDiScelta.
setForeground(Color.
blue); finestraDiScelta.transferFocus();
if(JFileChooser.
APPROVE_OPTION == finestraDiScelta.
showOpenDialog(finestraDiScelta
)) {
File fileSorgente
= new File(finestraDiScelta.
getSelectedFile().
toString()); if(!(fileSorgente.toString().endsWith(".txt"))) this.setSorgente();
this.openScanner(fileSorgente);
this.setDestinazione(fileSorgente);
}
}
public void setDestinazione
(File fileSorgente
) {
fileDestinazione
= new File(fileSorgente.
getAbsolutePath().
toString().
replace(".txt",
"").
concat(" - diviso per ".
concat(Integer.
toString(maxCaratteri
))).
concat(".txt")); this.openPrintWriter(fileDestinazione);
}
private Scanner fonte = null;
public void openScanner
(File fileSorgente
) {
try
{
fonte
= new Scanner
(new FileReader(fileSorgente
)); }
{
System.
out.
println("Il file da cui devo prendere dati non esiste... " + e
); this.setSorgente();
}
}
public void openPrintWriter
(File fileDestinazione
) {
try
{
}
{
System.
out.
println("Non trovo il nuovo file... " + e
); }
}
public void Dividi()
{
int somma = 0;
while(fonte.hasNext())
{
if(somma + fonte.next().length() <= maxCaratteri)
{
somma = somma + 1 + fonte.next().length();
if(somma == maxCaratteri)
{
destinazione.append(fonte.next().concat("\n"));
somma = 0;
}
else
{
destinazione.append(fonte.next().concat(" "));
}
}
else
{
destinazione.append("\n");
somma = 0;
}
}
destinazione.append("\n\nFILE TRENNER");
System.
out.
println("Operazione di formattazione eseguita con successo!\b"); }
public static void main
(String[] args
) { Main main = new Main();
main.setI();
main.setSorgente();
main.Dividi();
main.riprovare();
}
}