Toon posts:

Zoeken met java in TXT file

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleem, ik moet voor school een i-mode applicatie maken.

De bedoeling van de applicatie is dat ik dmv een txt file data op het scherm wil krijgen. Ik krijg wel de data in mijn emulator te zien maar niet in het java scherm zelf. hoe kan ik dit oplossen.

En mijn tweede probleem ik wil ook kunnen zoeken naar bepaalde regels uit hetzelfde txt file en die ook op het scherm neer zetten. Hieronder staat een stukje code wat wel werkt.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.io.*;
import java.awt.*;
import java.awt.event.*;
//import com.nttdocomo.ui.*;
//import java.io.*;
//import javax.microedition.io.*;

class FileTestRead extends Frame {
    
    public static void main( String[] args ) {
        BufferedReader in;
        String regel;
    
    try {
        in = new BufferedReader( new FileReader ( "drinks.txt" ) );
        
        while ( ( regel = in.readLine() ) != null){
            System.out.println( regel );
        }
        
        in.close();
    }
    

    catch( FileNotFoundException e ){
        System.out.println( "Kan bestand niet vinden" );
        e.printStackTrace();
        }
        
    catch( IOException e){
        System.out.println( "IO-exceptie" );
        }
    }
}

[ Voor 5% gewijzigd door Verwijderd op 17-12-2004 10:57 ]


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 17:22

Kees

Serveradmin / BOFH / DoC
Verwijderd schreef op vrijdag 17 december 2004 @ 01:27:
Ik heb een probleem, ik moet voor school een i-mode applicatie maken.

De bedoeling van de applicatie is dat ik dmv een txt file data op het scherm wil krijgen. Ik krijg wel de data in mijn emulator te zien maar niet in het java scherm zelf. hoe kan ik dit oplossen.

En mijn tweede probleem ik wil ook kunnen zoeken naar bepaalde regels uit hetzelfde txt file en die ook op het scherm neer zetten. Hieronder staat een stukje code wat wel werkt.
Wat je doet in de voorbeeldcode is output sturen naar system.out, je debug scherm dus. Hoe laat je iets op het scherm zien. (zie api specs van die classes die je uitgecommentarieerd hebt).

Overigens is de code die je laat zien zo basic als wat, tuurlijk werkt dat, maar het heeft vrijwel niets met je vraag te maken.

[ Voor 4% gewijzigd door Kees op 17-12-2004 01:38 ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Verwijderd

Allereerst, welkom op GoT. Kijk even de algemene FAQ door en de FAQ van Programming & Webscripting. Daar zie je bijvoorbeeld dat we graag hadden gehad dat je je titel met [java] was begonnen (maakt het wat makkelijker herkennen in het overzicht). Daarnaast is je code leesbaarder als je vooraan [ code=java ] tikt en achteraan [ /code ] (maar dan zonder spaties natuurlijk). Krijg je java-opmaak met kleurtjes enzo. Maar ook dat we niet direct huiswerkopdrachten helpen, maar dat we verwachten dat je zelf goed aangeeft wat je hebt geprobeerd en waar je hebt gezocht.

Dan mijn vragen aan jou:
Wat heb je al geprobeerd en waar heb je al gezocht?
Ken je deze links?:
Java API: java api
Java Tutorial: java tutorial
Niet om je af te schepen, maar de API heb je gewoon altijd nodig en de tutorial bevat erg veel text, uitleg en voorbeeldcode.

Je moet even bedenken hoe je je tekst wilt weergeven. Ik neem aan dat je eigenlijk een TextArea of een TextField wilt hebben. Zoals Kees al zegt, System.out print platte tekst naar je debugscherm. Niet naar je Frame

[ Voor 13% gewijzigd door Verwijderd op 17-12-2004 08:15 ]


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

Je geeft aan dat je wilt zoeken in een string, je wilt zoeken naar woorden?

Je pakt de woon de eerst char van het woord dat je zoekt, daarna ga je in de string kijken waar deze letter voorkomt. Je kunt een string als een char array behandelen, dacht ik. Dus iets als:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
for(int i = 0; i < m_string.length; i++)
{
     if(m_string[i] == m_woordDatJeZoekt[0])
     {
          boolean found = true;

          for(int j = 1; j < m_woordDatJeZoekt.length; i++)
          {
               if(m_string[i+j] != m_woordDatJeZoekt[j])
               {
                    found = false;
                    break;
               }

               if(found)
               {
                    // Het woord is gevonden.
               }
          }
     }
}


Het zou er ongeveer zo uit kunnen zien, ik typ het zo uit me hoofd neer en is een voorbeeldje. Als je de index nog nodigt hebt van het gevonden woord kun je natuurlijk de index afleiden uit de i var.

  • mrClass
  • Registratie: April 2002
  • Laatst online: 17-04-2025
Hier zijn ook gewoon functies voor in het String object. Je hoeft dit al lang niet meer zelf te schrijven.

indexOf(int ch, int fromIndex)
Returns the index within this string of the first occurrence of the specified character,
starting the search at the specified index.

Java:
1
2
3
4
if (m_string.indexOf(m_woordDatJeZoekt) != -1)
{
   // Het woord is gevonden.
}