Scusate sapreste dirmi come faccio a ricercare una parola (o stringa, che dir si voglia) data in input all' interno di un file txt ?
Scusate sapreste dirmi come faccio a ricercare una parola (o stringa, che dir si voglia) data in input all' interno di un file txt ?
Devi caricare il file riga per riga in memoria e poi cercare dentro ciò la stringa che vuoi trovare.
www.sitemeer.com » Quando un sito pare irraggiungibile
Se ti piace ci puoi trovare anche su Facebook
Questo se il file è composto da linee di singole parole.codice:File a = new File("file.txt"); FileInputStream c = new FileInputStream(a); BufferedReader b = new BufferedReader(new InputStreamReader(b)); while(b.readLine()!=null) { if(b.readLine().equals("//STRINGA DA CERCARE") { //QUALCOSA } }
Se invece il file è un normale testo scritto:
Spero di esserti stato d'aiuto e di non aver fatto erroricodice:File a = new File("file.txt"); Scanner b = new Scanner(a); String now=null; while((now=b.next())!=null) { if(now.equals("Stringa da cercare") { //FAI QUALCOSA } }![]()
Si sei stato molto gentile, credo di aver capito, quindi volendo ricapitolare, per avere un maggior chiarimento ti mostro il mio caso: ho un file di testo txt dove c'è nome, cognome, annodi nascita ed un eventuale interesse, esempio:
Paperone DePaperoni 1954 soldi
il mio obiettivo è inserire in input l'interesse, che in questo caso sono i "soldi" e stampare nome, cognome e anno di nascita di coloro che hanno questo interesse, in questo caso, otterrò in output :
Paperone DePaperoni 1954
con il tuo codice (ti ringrazio ancora) riesco a far ciò ?
Si, o almeno credo: quando trova la stringa esegue il corpo di comandi dopo l'if. Qunidi puoi scrivere qualcosa lì. Ad esempio fai stampare l'intera riga con b.readLine(). Vedi te come fare poi
Sfruttando i tuoi suggerimenti e anche quelli del mio libro di testo ho buttato giu un codice che però in fase di scrittura mi da questo errore :
il codice in questione è un metodo che io ho chiamato parolaChiave, il quale viene eseguito nel main e il suo argomento è l'interesse che riceve in inputcodice:Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at AnalizzatoreDB.parolaChiave(AnalizzatoreDB.java:81) at AnalizzatoreDB.main(AnalizzatoreDB.java:22)
quindi:
parolaChiave(parolaChiave)
il codice di questo metode è:
sapresti darmi una spiegazione dell' errore ?codice:public static void parolaChiave(String parolaChiave) { try(BufferedReader in = new BufferedReader(new FileReader("Database.txt"))) { String stringa = in.readLine(); while(stringa != null) { ArrayList<String> searchInteresse = new ArrayList<String>(); String nome = searchInteresse.get(0); String cognome = searchInteresse.get(1); String annoNascita = searchInteresse.get(2); if(searchInteresse.size()>3) { String interesse = searchInteresse.get(3); Utente x = new Utente(nome, cognome, annoNascita, searchInteresse); utente.add(x); if(interesse.equals(parolaChiave)) {System.out.println(nome + cognome +annoNascita);} } } } catch(IOException e) { System.out.println(" Eccezione\\s e"); }