io penso di sbagliare da qualche parte quacodice:import java.io.*; import javax.swing.JFileChooser; import java.util.Scanner; public class TxtTrenner { File pathIn=null; File pathOut=null; FileReader reader=null; Scanner inp=null; PrintWriter out=null; public void setPathIn(){ pathIn=null; pathOut=null; reader=null; inp=null; out=null; JFileChooser selectedFile=new JFileChooser(); if(JFileChooser.APPROVE_OPTION==selectedFile.showOpenDialog(null)){ pathIn=selectedFile.getSelectedFile(); System.out.println(pathIn.getPath()); //ora ho il percorso del file } else{ this.getIstruzioni(); } } public File getPathIn(){ return pathIn; } public void setPathOut() throws IOException{ String strpathOut=pathIn.getPath().concat(" -getrennt-"); pathOut=new File(strpathOut); pathOut.createNewFile(); //fino qua 0k } public File getPathOut(){ return pathOut; } public void getIstruzioni(){ System.out.println("Seleziona il file su cui devo operare..."); } public void dividere(){ try { reader=new FileReader(this.getPathIn()); } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("Hai cancellato il file su cui devo operare o è corrotto..."); this.riprovare(); } try { out=new PrintWriter(this.getPathOut()); } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("Non posso operare come voglio sul pc. Cambia le impostazioni di sistema e riprova."); this.riprovare(); } inp=new Scanner(reader); int j=15; int i=0; while(inp.hasNext()){ String daCopiare=inp.toString(); daCopiare=daCopiare.substring(i,j); out.println(daCopiare); i=j; j=j+15; } System.out.println("Ho finito. Puoi trovare il nuovo testo in\n"+this.getPathOut()); } public void riprovare(){ Scanner in=new Scanner(System.in); System.out.print("Scrivi 's' per riprovare: "); String risp=in.next(); if(risp.equalsIgnoreCase("s")){ this.getIstruzioni(); }else{ System.out.println("Spero di essere stato utile. Arrivederci!"); this.closeStreams(); } } public void closeStreams(){ inp.close(); out.close(); } }vorrei che il programma copi i caratteri di un file di testo a 15 a 15, finchè possibile, e li copi in pathOut (altro file)codice:try { reader=new FileReader(this.getPathIn()); } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("Hai cancellato il file su cui devo operare o è corrotto..."); this.riprovare(); } try { out=new PrintWriter(this.getPathOut()); } catch (FileNotFoundException e) { e.printStackTrace(); System.out.println("Non posso operare come voglio sul pc. Cambia le impostazioni di sistema e riprova."); this.riprovare(); } inp=new Scanner(reader); int j=15; int i=0; while(inp.hasNext()){ String daCopiare=inp.toString(); daCopiare=daCopiare.substring(i,j); out.println(daCopiare); i=j; j=j+15; }

Rispondi quotando

