스윙으로 파일 검색하는 프로그램 짜는중인데
String str = textField_FileName.getText();
String path = "Music\";
String files;
String fileNames = "";
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
files = listOfFiles[i].getName();
Pattern p = Pattern.compile(files);
Matcher m = p.matcher(str);
if (m.lookingAt())
{
fileNames = files;
textArea.setText(fileNames);
}
스윙 프로그램에서 텍스트 넣고 검색 버튼 누르면 마우스 클릭 이벤트 일어나서 패턴 매칭 하는 건데
디버깅 해서 보면 listOfFiles[0]에 Talking About.mp3란 파일이 들어가있고 str에도 내가 검색할때 Talking이란 텍스트가 잘 들어갔는데 왜 if (m.lookingAt())에서 참이 아니라 바로 다음 루프로 넘어가는지 모르겠네여;;
lookingAt()이 패턴중 일부만 일치해도 true 반환하는 메소드 아닌가여;
필터를 쓰세요 필터