 |
AppletTalk.com Java discussions newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
gbattine Guest
|
Posted: Fri May 19, 2006 1:07 pm Post subject: 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);
}
} |
|
| Back to top |
|
 |
giakyt Guest
|
Posted: Fri May 19, 2006 2:08 pm Post subject: Re: Passaggio del file al costruttore... |
|
|
gbattine ha scritto:
| Quote: | 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
|
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);
}
} |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|