Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - operare sui files
Forum - Java - operare sui files

Avatar
spode (Normal User)
Pro


Messaggi: 151
Iscritto: 03/09/2010

Segnala al moderatore
Postato alle 21:13
Martedì, 09/11/2010
Codice sorgente - presumibilmente Java

  1. import java.io.*;
  2. import java.util.Scanner;
  3.  
  4. public class OperatoreSuiFiles {
  5.        
  6.         public String getNomeCartellaInput(){
  7.                 Scanner in=new Scanner(System.in);
  8.                 String percorsoTot=in.nextLine();
  9.                 //fin qua 0k
  10.                 return percorsoTot;
  11.         }
  12.        
  13.         public String getNomeCartellaOutput(String percorsoTot){
  14.                 String percorsoOutput=percorsoTot.concat(" -getrennt-");
  15.                 System.out.println("Il nuovo file sta in "+percorsoOutput);
  16.                 //fin qua 0k
  17.                 return percorsoOutput;
  18.                 }
  19.        
  20.         public void dividiParole(String percorsoTot,String percorsoOutput){
  21.                 FileReader reader=null;
  22.                 try {
  23.                         reader=new FileReader(percorsoTot);
  24.                 } catch (FileNotFoundException e) {
  25.                         e.printStackTrace();
  26.                         System.out.println("Non posso operare sul file indicato. corrotto? cancellato?");
  27.                         this.getNomeCartellaInput();
  28.                 }
  29.                 Scanner in=new Scanner(reader);
  30.                 PrintWriter out=null;
  31.                 try {
  32.                         out=new PrintWriter(percorsoOutput);
  33.                 } catch (FileNotFoundException e) {
  34.                         e.printStackTrace();
  35.                         System.out.println("Per qualche motivo è impossibile indicare la stessa cartella di input.\nInserirne un'altra: ");
  36.                         percorsoOutput="C:/Documents and Settings/Proprietario/Desktop/file -getrennt-";
  37.                 }
  38.                
  39.                 /**
  40.                  * @param in stream input
  41.                  * @param out stream output
  42.                  */
  43. //fin qua 0k
  44.                 int i=0, j=15;
  45.                 while(in.hasNext()){
  46.                         String output=percorsoTot.substring(i, j);
  47.                         out.println(output);
  48.                         i=j;
  49.                         j=j+15;
  50.                 }
  51.                
  52.                 System.out.print("Ho finito!\nScrivi 's' per riprovare: ");
  53.                 String risp=in.next();
  54.                 if(risp.equalsIgnoreCase("s")){
  55.                         this.getNomeCartellaInput();
  56.                 }else{
  57.                 out.close();
  58.                 in.close();
  59.                 }
  60.         }
  61.        
  62.         public void saluti(){
  63.                 System.out.println("Per piacere, inserisci il percorso del file su cui devo operare: ");
  64.         }
  65.        
  66. }

sbaglio nel pezzo segnalato. io voglio copiare 15 caratteri per poi incollarli sul file di destinazione

PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 22:30
Martedì, 09/11/2010
Per scrivere i primi 15 caratteri di una frase, io farei così:
Codice sorgente - presumibilmente Java

  1. String frase="ciao, io faccio parte di questa community";
  2. try{
  3.     FileWriter fstream = new FileWriter("file.txt");
  4.     BufferedWriter out = new BufferedWriter(fstream);
  5.     String risultato=frase.substring(0, 15);
  6.     out.write(risultato);
  7.     out.close();
  8. }
  9. catch (Exception e){
  10.       System.err.println("Error: " + e.getMessage());
  11. }


Questo ti deve servire come spunto, Comunque sono disponibile qualora ci fossero delle domande da parte tua. :k:

PM Quote
Avatar
Numa Pompilio (Ex-Member)
Pro


Messaggi: 66
Iscritto: 03/05/2010

Segnala al moderatore
Postato alle 23:54
Martedì, 09/11/2010
Dovresti indicare cosa vuoi fare e commentare un attimino i 3 metodi......così come lo hai proposto è un pò un casino

PM Quote
Avatar
spode (Normal User)
Pro


Messaggi: 151
Iscritto: 03/09/2010

Segnala al moderatore
Postato alle 14:59
Domenica, 14/11/2010
ecco:
Codice sorgente - presumibilmente Java

  1. import java.util.Scanner;
  2.         import java.io.*;
  3.         import javax.swing.JFileChooser;
  4.         import java.lang.*;
  5.        
  6. public class FileDaDividere {
  7.  
  8.         public static void main(String[] args) {
  9.                 FileDaDividere questo=new FileDaDividere();
  10.                 questo.getIstruzioni();
  11.                 questo.getPathIn();
  12.                 questo.dividere();
  13.                 questo.riprovare();
  14.         }
  15.                        
  16.                 File selectedFile=null;
  17.                 File pathOut=null;
  18.  
  19.                 public void getIstruzioni(){
  20.                         System.out.println("Per piacere, indica su quale file devo operare...");
  21.                 }
  22.  
  23.                 public void getPathIn(){
  24.                 JFileChooser selettore=new JFileChooser();
  25.                 if(JFileChooser.APPROVE_OPTION==selettore.showOpenDialog(null)){
  26.                 selectedFile=selettore.getSelectedFile();
  27.         }else{
  28.                 this.getIstruzioni();
  29.                 }
  30.         }
  31.  
  32.                 public File getPathOut(){
  33.                         String strpathOut=selectedFile.getPath().concat(" -getrennt-");
  34.                         pathOut=new File(strpathOut);
  35.                         try {
  36.                                 pathOut.createNewFile();
  37.                         } catch (IOException e) {
  38.                                 e.printStackTrace();
  39.                                 System.out.println("Non posso creare il file di output...");
  40.                                 this.getIstruzioni();
  41.                         }
  42.                         return pathOut;
  43.         }
  44.  
  45.                 public void dividere(){
  46.                 FileReader reader=null;
  47.                 try {
  48.                         reader = new FileReader(selectedFile);
  49.                 } catch (FileNotFoundException e1) {
  50.                         e1.printStackTrace();
  51.                         System.out.println("Non posso aprire o leggere il file che hai indicato...");
  52.                         this.getIstruzioni();
  53.                 }
  54.                 Scanner in=new Scanner(reader);
  55.                 PrintWriter out=null;
  56.                 try {
  57.                         out = new PrintWriter(this.getPathOut());
  58.                 } catch (FileNotFoundException e) {
  59.                         e.printStackTrace();
  60.                         System.out.println("Non posso creare il file di output...");
  61.                         this.getIstruzioni();
  62.                 }
  63.                                
  64.                         String memorizzata="";
  65.                                 String parola="";
  66.                         for(;;){
  67.                                 if(in.hasNext()){
  68.                                 memorizzata=in.next();
  69.                                 parola=parola.concat(" ").concat(in.next());
  70.                         if(parola.length()<=15){
  71.                                 out.println(parola);
  72.                         }else{
  73.                                 out.println(parola.replace(memorizzata, ""));
  74.                                 out.print(memorizzata.concat(" "));
  75.                                 out.println(parola.substring(16));
  76.                         }
  77.                         }
  78.                                 else{
  79.                                         break;
  80.                                 }
  81.                         }
  82.  
  83. //il blocco qua sopra è quello sbagliato: io voglio copiare nel nuovo documento un testo, però così: 15 caratteri ogni riga, ma se le parole devono essere spezzettate no: l'ultima parola si cancella e si aggiunge alla riga dopo
  84.                
  85.                 System.out.println(pathOut);
  86.  
  87.                 System.out.println("\b\nHo finito! Il nuovo file si trova in\n"+pathOut);
  88.                 this.closeStreams(in,out);
  89.                 this.riprovare();
  90.         }
  91.  
  92.                 public void closeStreams(Scanner in, PrintWriter out){
  93.                 out.close();
  94.                 in.close();
  95.         }
  96.  
  97.                 public int riprovare(){
  98.                 System.out.print("Scrivi 's' per riprovare");
  99.                 Scanner in=new Scanner(System.in);
  100.                 String rispo=in.next();
  101.                 if(rispo.equalsIgnoreCase("s")){
  102.                 this.getPathIn();
  103.                 }
  104.                 return 0;
  105.         }
  106.  
  107. }


PM Quote