Newsgroup: it.comp.java
Titolo: Passaggio del file al costruttore...

Salve ragazzi,
ho un problema nel mio programmino java che ricevuto in ingresso un
file txt restituisce le righe e le colonne di quest'ultimo.
Non riesco a passare correttamente il file al programma.
Mi potete aiutare?Il file è dato.txt, come lo passo al programma?
In che riga del programma devo inserirlo?
Ecco il codice.Grazie in anticipo
import java.util.*;
import java.io.*;
public class AddDb {
  private String fileName;
  AddDb(String fN)//Il costruttore della classe
  {
  fileName=fN;
  }
  public int ColumnsNumber(String fileName)throws IOException {
    int Ncolumns=0;
    FileReader file = new FileReader(fileName); //classe per la lettura
di file di caratteri
    BufferedReader br = new BufferedReader(file); /*Legge testo da uno
stream di caratteri di ingresso, bufferizzando i caratteri in maniera
da garantire efficienza di lettura.*/
    String line = br.readLine(); //legge una linea di testo terminata
da /n o /r e la restituisce come stringa
    StringTokenizer st = new StringTokenizer(line); //La classe
StringTokenizer permette la divisione di una stringa in tokens
    System.out.println("Calcolo le colonne");
    Ncolumns=st.countTokens(); //calcola il numero di token,in questo
caso è il numero di colonne
    System.out.println("Colonne contate");
    return Ncolumns;
  }
  public int RowsNumber(String fileName)throws IOException {
    int Nrows=0;
    FileReader file = new FileReader(fileName); //classe per la lettura
di file di caratteri
    BufferedReader br = new BufferedReader(file); /*Legge testo da uno
stream di caratteri di ingresso, bufferizzando i caratteri in maniera
da garantire efficienza di lettura.*/
    String line = br.readLine();
    while (line != null) { //ciclo che conta il numero di righe
arrestandosi al null che indica la fine del file
     Nrows++;
     line = br.readLine();
    }
    return Nrows;
  }
  public static void main(String[] args)throws IOException {
    AddDb db=new AddDb(fileName);
    db.ColumnsNumber(fileName);
    System.out.println("Il numero di colonne e' :"+Ncolumns);
    db.RowsNumber(fileName);
    System.out.println("Il numero di righe e' :"+Nrows);
 
  }
}


eccoti il codice modificato, guarda che comunque conta le parole della
prima riga e non le colonne.
ciao
/**
*/
import java.util.*;
import java.io.*;
public class AddDb {
  private String fileName;
  AddDb(String fN)  // Il costruttore della classe
  {
    fileName=fN;
  }
  public int ColumnsNumber(String fileName)throws IOException {
    int nColumns=0;
    FileReader file = new FileReader(fileName);   // classe per la
lettura di file di caratteri
    BufferedReader br = new BufferedReader(file);
    /* Legge testo da uno
       stream di caratteri di ingresso, bufferizzando i caratteri in
maniera
       da garantire efficienza di lettura. */
    String line = br.readLine(); // legge una linea di testo terminata
da /n o /r e la restituisce come stringa
    StringTokenizer st = new StringTokenizer(line); // La classe
StringTokenizer permette la divisione di una stringa in tokens
    System.out.println("Calcolo le colonne");
    nColumns=st.countTokens(); // calcola il numero di token,in questo
caso è il numero di colonne
    System.out.println("Colonne contate");
    return nColumns;
  }
  public int RowsNumber(String fileName)throws IOException {
    int nRows=0;
    FileReader file = new FileReader(fileName); // classe per la
lettura di file di caratteri
    BufferedReader br = new BufferedReader(file);
    /* Legge testo da uno
       stream di caratteri di ingresso, bufferizzando i caratteri in
maniera
       da garantire efficienza di lettura. */
    String line = br.readLine();
    while (line != null) { // ciclo che conta il numero di righe
arrestandosi al null che indica la fine del file
     nRows++;
     line = br.readLine();
    }
    return nRows;
  }
  public static void main(String[] args) throws IOException {
    String fileName = new String();
    int nColumns,nRows;
    if ( args.length < 1 ) {
      System.out.println( "\nAddDb fileName\n es.: AddDb dato.txt\n");
    } else {
      fileName = args[0];
    }
    AddDb db=new AddDb(fileName);
    nColumns = db.ColumnsNumber(fileName);
    System.out.println("Il numero di colonne e' :"+nColumns);
    nRows = db.RowsNumber(fileName);
    System.out.println("Il numero di righe e' :"+nRows);
  }
}