Problemi a leggere e visualizzare i contenuti di un file

di il
10 risposte

Problemi a leggere e visualizzare i contenuti di un file

Sul mio manuale di java si riporta questo esempio:

/* Display a text file. 
   To use this program, specify the name 
   of the file that you want to see. 
   For example, to see a file called TEST.TXT, 
   use the following command line. 
 
   java ShowFile TEST.TXT 
*/ 
 
import java.io.*; 
 
class ShowFile { 
  public static void main(String args[]) 
  { 
    int i; 
    FileInputStream fin; 
 
    // First, confirm that a file name has been specified. 
    if(args.length != 1) { 
      System.out.println("Usage: ShowFile filename"); 
      return; 
    } 
 
    // Attempt to open the file. 
    try { 
      fin = new FileInputStream(args[0]); 
    } catch(FileNotFoundException e) { 
      System.out.println("Cannot Open File"); 
      return; 
    } 
 
    // At this point, the file is open and can be read. 
    // The following reads characters until EOF is encountered. 
    try { 
      do { 
        i = fin.read(); 
        if(i != -1) System.out.print((char) i); 
      } while(i != -1); 
    } catch(IOException e) { 
      System.out.println("Error Reading File"); 
   } 
 
    // Close the file. 
    try { 
      fin.close(); 
    } catch(IOException e) { 
        System.out.println("Error Closing File"); 
    } 
  } 
}
In base a quello che ho capito il programma sopra utilizza read() per leggere e visualizzare i contenuti di un file contenente testo ASCI. Sul manuale c'é anche scritto che il nome del file deve essere specificato come argomento della riga di comando ma non si spiega fisicamente cosa si deve fare su eclipse e non si dice neppure dove essere salvato questo benedetto .txt. Mi aspettavo che nel codice ci fosse una URL dove java potesse andare a prelevare il file...

Su Eclipse gli argomenti della command line si impostano su Run - Run Configurations - Arguments ma se scrivo java ShowFile TEST.TXT in arguments e metto il file TEST.TXT vicino a ShowFile.class il file non funziona e java mi restituisce la stringa "Usage: ShowFile filename".

DOMANDE
1 - Perché il file non si apre, dove imposto la URL? (Ho provato a mettere il .txt vicino al file class ma non funziona...)
2 - Quando premo normalmente su RUM e come se da riga di comando scrivessi "java" e stop?




P.S.: Non mi interessa leggere il file ma capire l'esempio per poter continuare a leggere il manuale.

10 Risposte

  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Lo devi passare come argomento del main il percorso del file, se non vuoi cambiare la struttura


    da console sarebbe qualcosa tipo
    java nomeMain pathNomeFile.txt
    in eclipse devi andare sul progetto, cliccare con il tasto destro, proprietà, e dirgli negli arguments dove stà il file
  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Continuo a non capire...

    Devo mettere la spunta su Other? Se si dentro che ci devo scrivere? Scarica questa immagine:



    Attualmente la struttura è questa:

    ESEMPI_LIBRO
    .settings
    bin
    src
    .classpath
    .project
    TEST.TXT

    e dentro bin c'è:

    TEST.TXT
    Esempio.class

    dentro Esempio.class non compilato:
    /* Display a text file. 
       To use this program, specify the name 
       of the file that you want to see. 
       For example, to see a file called TEST.TXT, 
       use the following command line. 
     
       java ShowFile TEST.TXT 
    */ 
    
    import java.io.*; 
     
    class Esempio { 
      public static void main(String args[]) 
      { 
        int i; 
        FileInputStream fin; 
     
        // First, confirm that a file name has been specified. 
        if(args.length != 1) { 
          System.out.println("Usage: ShowFile filename"); 
          return; 
        } 
     
        // Attempt to open the file. 
        try { 
          fin = new FileInputStream(args[0]); 
        } catch(FileNotFoundException e) { 
          System.out.println("Cannot Open File"); 
          return; 
        } 
     
        // At this point, the file is open and can be read. 
        // The following reads characters until EOF is encountered. 
        try { 
          do { 
            i = fin.read(); 
            if(i != -1) System.out.print((char) i); 
          } while(i != -1); 
        } catch(IOException e) { 
          System.out.println("Error Reading File"); 
       } 
     
        // Close the file. 
        try { 
          fin.close(); 
        } catch(IOException e) { 
            System.out.println("Error Closing File"); 
        } 
      } 
    }
    
  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Tu lo vuoi avviare da console o da eclipse?

    da eclipse devi mettergli negli argomenti del rin configuration solo il nome del file "con tutto il path"
  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Alla prima domanda non so rispondere, mi interessano entrambi i modi. Mi piacerebbe premere su run e vedere il programma girare. Sto leggendo un manuale di java e sono a pag. 336 di 1166...

    Non so come scrivere il path, mi puoi aiutare?

    P.S.: Non sono un informatico...
  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Se scrivo java Esempio ESEMPI_LIBRO\bin\TEST.TXT non vedo funzionare nulla...
  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Neppure con questo più completo...

    java Esempio D:\DOCUMENTI \JAVA\Progetti_Eclipse\ESEMPI_LIBRO\bin\TEST.TXT

    P.S.: Non so se è importante ma java si trova in C: mentre i file salvati in D:
  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Togli java
  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Niente da fare, non funziona, trovo sempre scritto:

    Usage: ShowFile filename

  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Risolto basta scrivere TEST.TXT e basta...

    grazie comunque per la pazienza
  • Re: Problemi a leggere e visualizzare i contenuti di un file

    Ho letto solo ora questo post.

    Comunque si, bisogna solo scrivere "test.txt", senza "java Esempio", perché quello è il riquadro degli argomenti, non il prompt dei comandi. Eclipse in automatico scrive "java Esempio", tu devi solo fornire eventuali argomenti aggiuntivi, in questo caso il nome del file.
    Inoltre il file test.txt si trova all'interno della directory ESEMPI_LIBRO (che è la cartella del tuo progetto), quindi è aggiunta automaticamente al path, per cui è sufficiente scrivere "test.txt". Volendo potresti, comunque, specificare il path assoluto di tale file. Considera, comunque, che non è quello che hai scritto tu, ma è "D:\DOCUMENTI\JAVA\Progetti_Eclipse\ESEMPI_LIBRO\TEST.TXT"
Devi accedere o registrarti per scrivere nel forum
10 risposte