Wyszukiwanie w pliku txt

0

Witam

Mam problem z wyszukiwanie w pliku txt, znalazłem na necie kilka poradników ale nie mogłem znaleźć takiej informacji. Mianowicie mam pliku txt:
kod pocztowy id id id;
00001 PL PL DE;
00002 PL PL GD;
00003 PL DE PL;
itd

potrzebuje stworzyć takie wyszukiwanie aby szukało po kodzie pocztowym i przypisywało linie gdzie znajduje się ten kod pocztowy do zmiennie czyli jeżeli wyszukujemy kod 00003 to String kod = "PL DE PL";
A na koniec chciałbym aby skróty w stringu kod (PL DE PL) zostały zmienione na pełne nazwy do innych stringów czyli
string s1 = "POLSKA";
string s2 = "NIEMCY";
string s3 = "POLSKA";

0
  1. HashMapa par: np PL - Polska, DE - Niemcy
  2. HashMapa kodow: 0001 - PL PL DE, itp
  3. metoda split() klasy String
0

Na szybko...:

String szukanyKod = "00003"; //tutaj oczywiście sztywno wbite, przekazuj tą daną w jakiś sposób

BufferedReader reader = new BufferedReader(new FileReader("twojPlik.txt"));
boolean szukajDalej = true; 
String kod;
do {
    kod = reader.readLine();
    if (kod!=null) 
        if (kod.split(" ")[0].equals(szukanyKod)) 
            szukajDalej = false;
while (kod!=null && szukajDalej);
reader.close();

W tym momencie masz Stringa 'kod', którego wartość to cała interesująca Cię linijka (interesująca Cię - ta której kod odpowiada szukanemu). Jeżeli linijka z kodem 00003 wyglądałaby jak u Ciebie, splitem otrzymałbyś wartości:

kod.split(" ")[1]    - PL
kod.split(" ")[2]    - DE
kod.split(" ")[3]    - PL

Później już chociażby if'ami wynik przeanalizuj, np.:

String[] skroty = kod.split(" ");
for (int i=1;i<skroty.length;i++)
    if (skroty[i].equals("PL")) skroty[i] = "POLSKA";
    else if (skroty[i].equals("DE")) skroty[i] = "NIEMCY";
    else if ()... etc

edit: ktoś mnie ubiegł :). Pozdrawiam,

0

A może skorzystać z czegoś gotowego ?
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html

0

dzięki za szybką odpowiedź kod przydatny :)

    String szukanyKod = "90001";
    BufferedReader reader = new BufferedReader(new FileReader("c:\\test.txt"));
    boolean szukajDalej = true;
    String kod;

do
{
kod = reader.readLine();
if (kod!=null)
if (kod.split(" ")[0].equals(szukanyKod))
szukajDalej = false;
}
while (kod!=null && szukajDalej);
reader.close();

    String h1;
    String h2;
    String h3;
    h1 = kod.split(" ")[1];
    h2 = kod.split(" ")[2];
    h3 = kod.split(" ")[3];

1 użytkowników online, w tym zalogowanych: 0, gości: 1