Note that there are some explanatory texts on larger screens.

plurals
  1. POSearching for a string and print a line from file
    text
    copied!<p>I am trying to be able to make a method in my program which will enable me to search for a string and then print the entire line which this string is located in inside a textfile. Any pointers? I have tried to do this, but I keep getting nothing out -.- </p> <pre><code> import java.util.*; import java.io.*; public class Oblig2 { public static void main (String[] args) { final Scanner input = new Scanner (System.in); int menyvalg=0; Meny menyen = new Meny(); menyen.meny(); } } //Selve menyen til programmet i en egen klasse. class Meny { PrintWriter fil; Scanner input = new Scanner (System.in); public void meny() { try{ fil=new PrintWriter(new FileWriter("fugler.txt", true)); } catch (IOException e) { System.out.println("Filen finnes ikke"); } int menyvalg=0; int menykall=1; //Menyen vil her bli repetert helt til en taster inn 4 og endrer menykall til 0. do{ //Selve menyen vil bli repetert helt til brukeren velger en av menyens alternativer. do{ System.out.println("====== Meny for registrering av fugleobservasjoner ====="); System.out.println("\n1. Registrer en fugleobservasjon"); System.out.println("2. Skriv ut alle fugleobservasjoner av en type"); System.out.println("3. Skriv ut alle fugleobservasjoner på ett bestemt sted"); System.out.println("4. Avslutt systemet"); System.out.println("\nVennligst velg en aksjon: "); menyvalg = input.nextInt(); } while(menyvalg &lt; 1 || menyvalg &gt; 4); switch (menyvalg){ case 1: registrering(); break; case 2: //fugleType(); break; case 3: break; case 4:menykall=0; } }while(menykall&gt;=1); } void registrering () { System.out.println("Velkommen til registreringen av fugleobservasjoner."); System.out.println("Begynner registreringen (Lagrer seg i filen fugler.txt): "); try { fil = new PrintWriter(new FileWriter("fugler.txt", true)); System.out.println("\nVennligst tast inn fugletypen: "); String fugletype = input.next(); fil.write(fugletype + ","); System.out.println("Tast inn fuglens kjonn (M/H/X): "); char fuglekjonn = input.next().charAt(0); fil.write(fuglekjonn + ","); System.out.println("Tast inn observasjonslokasjon: "); String lokasjon = input.next(); fil.write(lokasjon + ","); System.out.println("Tast inn dato for observasjon (Som en string på formen mai2012): "); String dato = input.next(); fil.write(dato); fil.close(); }catch(Exception e){ System.out.println("Åpning av fil feilet"); } } </code></pre> <p>This is where I try to make the method:</p> <pre><code> void fugleType () { System.out.println("Her kan du finne registrerte observasjoner med søk på typen fugl."); try{ Scanner output = new Scanner("fugler.txt"); System.out.println("Vennligst spesifiser fugletype: "); int linjenummer = 0; while (output.hasNext()){ String fugletype = output.next(); linjenummer++; if(fugletype.indexOf("fugler.txt")){ System.out.println (linjenummer); } } }catch (Exception e) { System.out.println("Fant ikke filen"); } } </code></pre> <p>} `</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload