IRCボットを作成しようとしています。以下はコードですが、実行すると「001」が検出されません。JRE6で実行し、JDK6を使用しています。Eclipseで開発し、デバッグ機能を使用して実行しています。「java.exe」と「javaw.exe」の両方で試しました。実行中、debugexは001が明らかにそこにあることを示しています。
これが私のコードです:
package bot;
import java.io.*;
import java.net.*;
public class Main {
static PrintWriter out = null;
@SuppressWarnings("unused")
public static void main(String[] args) {
Socket sock = null;
BufferedReader in = null;
try {
sock = new Socket("irc.jermc.co.cc",6667);
in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
out = new PrintWriter(sock.getOutputStream(), true);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
boolean sentconnect = false;
while(sock.isConnected() == true){
if(sentconnect == false){
writeout("NICK GBot");
writeout("USER GBot GBot GBot :GBot");
sentconnect = true;
}
String data = "";
try {
data = in.readLine();
} catch (IOException e) {
e.printStackTrace();
}
data = data.trim();
if(data != ""){
System.out.println("[IN] " + data);
}
String[] ex;
ex = data.split(" ");
for(String debugex : ex){
//System.out.println("DEBUGEX: " + debugex);
}
if(ex[1] == "001"){
writeout("JOIN #minecraft");
}
try {
Thread.sleep((long) 0.5);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(ex[0] == "PING"){
writeout("PONG " + ex[1]);
}
}
}
private static void writeout(String msg) {
out.println(msg);
System.out.println("[OUT] " + msg);
}
}