파일에서 명령 줄에 지정된 단어를 검색하려고합니다. 그러나 실행 중이면 아무 것도 표시하지 않습니다. 문제는 무엇이 될 수 있습니까? 여기 내 코드의 일부입니다. 도와 주셔서 감사합니다! 는
파일에서 명령 줄에 지정된 단어 찾기
class ClientHandler extends Thread {
private Socket client;
private Scanner input;
private PrintWriter output;
private ArrayList<String> quotes;
public ClientHandler3(Socket socket, String file) {
client = socket;
try {
BufferedReader buffer = new BufferedReader(new FileReader(file));
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
String line = reader.readLine();
try {
int ctr = 0;
quotes = new ArrayList<String>();
while(line != null){
quotes.add(ctr, line);
ctr++;
line = buffer.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
input = new Scanner(client.getInputStream());
output = new PrintWriter(client.getOutputStream(), true);
}
catch(IOException e) {
e.printStackTrace();
}
}
public void run(String[] args) {
String target;
String message = "";
target= args[3];
for(int i = 0; i<quotes.size(); i++){
if(quotes.get(i).toUpperCase().contains(target.toUpperCase())){
output.println(quotes.get(i));
}
}
output.println("|");
try {
if (client != null) {
System.out.println("Closing down connection...");
client.close();
}
}
catch(IOException e) {
System.out.println("Unable to disconnect!");
}
}
}
고맙지 만 문제가 있다고 생각하지 않습니다. 나는 그것을 시험해 보았다. :) 문제는,'run()'메서드에서, 단어를 검색하는 곳이 있기 때문입니다. –