Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    try catch in lettura file

    Salve ragazzi,
    vorrei chiedervi la soluzione di un problema.
    Andando a compilare un file java che dovrebbe come scopo caricare un file txt e restituirmi il numero di righe di quest'utlimo, ho questo errore in fase di compilazione:

    C:\>javac addtodb.java
    addtodb.java:14: 'try' without 'catch' or 'finally'
    try{
    ^
    addtodb.java:19: 'catch' without 'try'
    catch( IOException e){
    ^
    2 errors


    Il codice è questo, vi ringrazio anticipatamente per l'aiuto.

    package todb;
    import java.util.*;
    import java.io.*;

    public class addtodb {
    /**
    * @param args
    */



    public int fileLenght()throws IOException {

    try{
    FileReader fr=new FileReader(f);

    }
    BufferedReader in=new BufferedReader(fr);
    catch( IOException e){
    System.out.println( e.getMessage() );
    }
    String line;
    int i=0;
    line=in.readLine();
    while(line!=null) { //è la condizione di terminazione del file
    i++;
    line=in.readLine();
    }
    in.close();
    return i;

    }
    public static void main(String[] args) {
    File f;
    f=new File("dato.txt");
    f.fileLenght();
    System.out.println(i);

    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    vuol dire che hai aperto un try senza chiuderlo ed hai un catch che nn è stato aperto... facilemente hai messo delle parentesi sbagliate...


    codice:
    try{
    FileReader fr=new FileReader(f);
    
    }// devi togliere questa 
    BufferedReader in=new BufferedReader(fr);}//e metterla qui
    catch( IOException e){ 
    System.out.println( e.getMessage() ); 
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    adesso va bene ma....ancora errori!!!

    Grazie mille per l'aiuto, ma mi dà altri errori!!!!!Non so se sono nel passaggio dei parametri......
    Puoi aiutarmi?
    Più precisamente

    C:\>javac addtodb.java
    addtodb.java:15: cannot find symbol
    symbol : variable f
    location: class todb.addtodb
    FileReader fr=new FileReader(f);
    ^
    addtodb.java:23: cannot find symbol
    symbol : variable in
    location: class todb.addtodb
    line=in.readLine();
    ^
    addtodb.java:26: cannot find symbol
    symbol : variable in
    location: class todb.addtodb
    line=in.readLine();
    ^
    addtodb.java:28: cannot find symbol
    symbol : variable in
    location: class todb.addtodb
    in.close();
    ^
    addtodb.java:35: cannot find symbol
    symbol : method fileLenght()
    location: class java.io.File
    f.fileLenght();
    ^
    addtodb.java:36: cannot find symbol
    symbol : variable i
    location: class todb.addtodb
    System.out.println(i);
    ^
    6 errors

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    prova con questo, l'ho fatto al volo senza testarlo...

    package todb;
    import java.util.*;
    import java.io.*;

    public class addtodb {
    /**
    * @param args
    */



    public int fileLenght(File f)throws IOException {
    BufferedReader in=null;
    String line;
    int i=0;

    try{
    FileReader fr=new FileReader(f);
    in=new BufferedReader(fr);
    }catch( IOException e){
    System.out.println( e.getMessage() );
    }

    line=in.readLine();
    while(line!=null) { //è la condizione di terminazione del file
    i++;
    line=in.readLine();
    }
    in.close();
    return i;

    }
    public static void main(String[] args) {
    File f;
    f=new File("dato.txt");
    System.out.println(fileLenght(f);

    }
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    un ultimo problemino........

    Innanzitutto grazie per la disponibilità.
    Un ultimo errore.........
    Come lo risolvo?


    addtodb.java:36: non-static method fileLenght(java.io.File) cannot be referenced
    from a static context
    System.out.println(fileLenght(f));
    ^
    1 error

  6. #6
    Semplicemente che se il tuo file è "f" devi fare così:

    codice:
    System.out.println(f.FileLenght());
    Non come hai fatto tu perchè il metodo non è statico e quindi deve essere invocato su un oggetto.

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    perchè non va???......help me..

    C:\>javac addtodb.java
    addtodb.java:36: cannot find symbol
    symbol : method fileLenght()
    location: class java.io.File
    System.out.println(f.fileLenght());
    ^
    1 error

    Continua a darmi errori!
    Perchè?Il codice è questo. L'errore è sicuramente o nella System.out o nel metodo intLenght,perchè escludendo la riga del System.out(che è l'unica che chiama la funzione) il tutto è compilato correttamente.
    Puoi aiutarmi ancora?


    package todb;
    import java.util.*;
    import java.io.*;

    public class addtodb {
    /**
    * @param args
    */



    public int fileLenght(File f)throws IOException {
    BufferedReader in=null;
    String line;
    int i=0;

    try{
    FileReader fr=new FileReader(f);
    in=new BufferedReader(fr);
    }catch( IOException e){
    System.out.println( e.getMessage() );
    }

    line=in.readLine();
    while(line!=null) { //è la condizione di terminazione del file
    i++;
    line=in.readLine();
    }
    in.close();
    return i;

    }
    public static void main(String[] args) {
    File f;
    f=new File("dato.txt");
    System.out.println(f.fileLenght());
    }
    }


    Grazie ancora

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    quello che vuole fare gbattine è richiamare il metodo fileLenght da lui implementato ed applicarlo al file f.

    Semplicemente che se il tuo file è "f" devi fare così:

    codice:System.out.println(f.FileLenght());

    Non come hai fatto tu perchè il metodo non è statico e quindi deve essere invocato su un oggetto.
    cosi nn funziona perchè la variabile f nn viene riconosciuta all'interno del metodo, vedi errori nel terzo intervento.
    prova a dichiarare

    codice:
    public static int fileLenght(File f)throws IOException {...
    
    System.out.println(fileLenght(f));

  9. #9
    Vero non avevo visto bene sopra e pensavo fosse un metodo predefinito anche se mi suonava strano :master:

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    qualcuno può aiutarmi?....

    In questa situazione qualcuno sa dirmi qualcosa?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.