|
|
|
|
Strumenti |
22-02-2008, 15:33 | #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 |
22-02-2008, 16:32 | #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 |
22-02-2008, 21:48 | #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 |
25-02-2008, 10:18 | #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: 23:30.