|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2007
Messaggi: 75
|
[JAVA] Programma di lavoro con i file
Il programma ke sto provando a fare è il seguente:
Dato un file, in cui è presente un testo, ho una parola da ricercare in questo file. Il programma deve fornire il numero della linea in cui si trova la parola, e la posizione della parola ricercato nella linea (carattere iniziale della parola), poi deve dire se è una sottostringa della parola o e una parola intera . Io ho impostato così: Codice:
public class LineNumberer
{
public static void main(String[] args)
{
Scanner console = new Scanner(System.in);
System.out.print("Input file: ");
String inputFileName = console.next();
System.out.print("Parola da ricercare: ");
String parola = console.next();
try
{
FileReader reader = new FileReader(inputFileName);
Scanner in = new Scanner(reader);
while (in.hasNextLine())
{
////////////////// codice in progresso ///////////////////
}
out.close();
}
catch (IOException exception)
{
System.out.println("Error processing file: " + exception);
}
}
}
__________________
Negozio di computer e assistenza sito in manutenzione _________________________________________ Ho felicemente concluso acquisti con: CirrusMinor , shark2 , Matteoco |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Jun 2007
Messaggi: 75
|
Uppp!!!! forse devo utilizzare indexOf
__________________
Negozio di computer e assistenza sito in manutenzione _________________________________________ Ho felicemente concluso acquisti con: CirrusMinor , shark2 , Matteoco |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2003
Messaggi: 40
|
Ti sconsiglio di usare indexOf: questo metodo infatti ti permette di trovare l'indice della stringa passata in ingresso nella stringa oggetto ma poi c'è il problema di individuare le varie occorrenze e di capire se la parola è intera o meno.
Una soluzione migliore consiste sicuramente nell'usare le regular expression, che sono rappresentate in java standard con le classi java.util.regex.Pattern e java.util.regex.Matcher. Il loro uso è piuttosto semplice Codice:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Trentini {
public static void main(String args[]){
String t="trentatrè trentini entrarono in trento tutti "+
"e trentatrè trotterellando trenta trenta";
Pattern pattern=Pattern.compile("trent[^\\s]+");
Matcher matcher=pattern.matcher(t);
while(matcher.find()){
System.out.println(matcher.start()+";"+matcher.group());
}
}
}
0;trentatrè 10;trentini 32;trento 47;trentatrè 72;trenta 79;trenta Matcher Api Pattern Api contiene anche una tutorial sulle regular expression |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jun 2007
Messaggi: 75
|
Grazie smodeus proverò a fare così... poi ti farò sapere grazie ancora....
__________________
Negozio di computer e assistenza sito in manutenzione _________________________________________ Ho felicemente concluso acquisti con: CirrusMinor , shark2 , Matteoco |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:59.



















