Czy ktoś ma jakieś pomysły na to, w jaki sposób mogę przeszukać plik tekstowy i wyświetlić wyniki w JComponentu, takim jak JPanel.Przeszukuj plik tekstowy i wyświetlaj wyniki w pliku JPanel
Od dwóch dni staram się to udoskonalić, ale żaden sukces naprawdę nie doceni odpowiedzi. Z góry dziękuję.
Próbuję napisać klasy, która obsługuje kwerend wyszukiwania do pliku tekstowego. Moim głównym celem jest uzyskanie linii w pliku tekstowym, który zawiera słowa kluczowe wyszukiwania wpisane w JTextField i wydrukowanie ich w odpowiednim JComponentu (coś takiego jak JTextField, JTextPane, w zależności od tego, która z nich jest najlepsza).
Chciałbym, aby wyniki wyszukiwania pokazywały się w kolumnach, jak wyświetlane są wyniki wyszukiwania w Google, tak aby każda linia z pliku tekstowego była drukowana we własnym wierszu. Powiedziano mi, że najlepiej jest używać ArrayList. Naprawdę nie wiem, jak to zrobić. Wziąłem pomysły z całego świata i to jest to, co do tej pory miałem:
Z dużym uznaniem z góry. Jestem bardzo nowy w Javie. Byłem w tym cały dzień, próbując to naprawić i nie poszedłem daleko. Jestem gotów spróbować czegoś oferowanego, nawet nowego podejścia.
// The class that handles the search query
// Notice that I've commented out some parts that show errors
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JTextPane;
public class Search {
public static String path;
public static String qri;
public Search(String dTestFileDAT, String qry) {
path = dTestFileDAT;
qri = qry;
}
public static JTextPane resultJTextPane;
public static List<String> linesToPresent = new ArrayList<String>();
public static List<String> searchFile(String path, String match){
File f = new File(path);
FileReader fr;
try {
fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String line;
do{
line = br.readLine();
Pattern p = Pattern.compile(match);
Matcher m = p.matcher(line);
if(m.find())
linesToPresent.add(line);
} while(line != null);
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// resultJTextPane = new JTextPane();
// resultJTextPane = (JTextPane) Home.BulletinsJPanel.add(linesToPresent);
return linesToPresent;
}
}
// This handles the click event to take the query. Notice that I've commented out some parts that show errors
private void mouseClickedSearch(java.awt.event.MouseEvent evt) {
Search fs = new Search("/D:/TestFile.dat/", "Text to search for");
// searchResultsJPanel.add(Search.searchFile("/D:/TestFile.dat/", "COLE"));
// searchResultsJTextField.add(fs);
}
* "Czy ktoś ma jakieś pomysły jak mogę wyszukać plik tekstowy i wyświetlić wyniki w JComponentu, takim jak JPanel? * "- Tak - [Co próbowałeś?] (http://mattgemmell.com/2008/12/08/what-have-you-tried/) Może może dać jakiś kierunek – MadProgrammer
Próbujesz zrobić to przez dwa dni, więc na pewno masz jakiś kod, który możesz nam pokazać? Jakiś punkt wyjścia? Zobaczmy. – Kon
@olicver muchai zobacz JTextPane.read() – mKorbel