使用来自xSocket的示例作为新进程运行xSocketHandler
,我想自定义并将所有这些代码移动到其他java文件中,我可以复制public class xSocketDataHandler implements IDataHandler
并粘贴到不同的文件名中吗? main.java?
import java.io.IOException;
import java.nio.BufferUnderflowException;
import java.nio.channels.ClosedChannelException;
import org.xsocket.*;
import org.xsocket.connection.*;
public class xSocketDataHandler implements IDataHandler
{
public boolean onData(INonBlockingConnection nbc) throws IOException, BufferUnderflowException, ClosedChannelException, MaxReadSizeExceededException
{
try
{
String data = nbc.readStringByDelimiter("\0");
//nbc.write("Reply" + data + "\0");
nbc.write("+A4\0");
if(data.equalsIgnoreCase("SHUTDOWN"))
xSocketServer.shutdownServer();
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
return true;
}
}
答案 0 :(得分:1)
不,如果不将xSocketDataHandler的可见性降低到默认值,就无法做到这一点。如果您不想这样做,您的文件名应为 xSocketDataHandler.java
您必须在同名文件中使用类xSocketDataHandler,因为它是公共的。您可以将此文件中的其他非公共类转移到 Main.java 。
答案 1 :(得分:0)
公共类需要位于根据类命名的文件中,因此在这种情况下它将是xSocketDataHandler.java
。
约定也是命名以大写字母开头的java类,因此它是public class XSocketDataHandler
和文件XSocketDataHandler.java
。但这不是必需的。