Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
合并到Java代码中_Java - Fatal编程技术网

合并到Java代码中

合并到Java代码中,java,Java,使用将运行xSocketHandler的xSocket示例作为一个新进程,我想定制所有这些代码并将其移动到其他java文件中,我可以复制公共类xSocketDataHandler实现IDataHandler并粘贴到不同的文件名中,比如main.java吗 import java.io.IOException; import java.nio.BufferUnderflowException; import java.nio.channels.ClosedChannelException; imp

使用将运行
xSocketHandler
的xSocket示例作为一个新进程,我想定制所有这些代码并将其移动到其他java文件中,我可以复制
公共类xSocketDataHandler实现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;
    }
}

公共类需要位于根据类命名的文件中,因此在本例中它将是
xSocketDataHandler.java


惯例也是以大写字母开头命名java类,因此它将是
公共类XSocketDataHandler
和file
XSocketDataHandler.java
。但是这不是必需的。

不,如果不将xSocketDataHandler的可见性降低到默认值,就无法做到这一点。如果您不想这样做,您的文件名应该是xSocketDataHandler.java


由于类xSocketDataHandler是公共的,因此必须在同名文件中包含该类。您可以将此文件中的其他非公共类移动到Main.java

此代码无法按原样编译,因为缺少
xSocketServer
。我的意思是Main.java是一个音频播放器,希望执行nbc.write(+A4\0”);对于xsocket web服务器,我不认为我完全理解您的意思。但只要您能够导入inonblocking连接并捕获其实例(nbc)…您就应该能够做到这一点。您的意思是服务器启动(webserver.java)并运行时。在main.java中,我可以使用import org.xsocket.*;包括复制和粘贴:公共布尔onData(INonBlockingConnection nbc)。。。?我也很困惑。如果有代码给我看。对不起,我来自Actionscript,Java不好。是的……如果它对你有用的话。但是我建议你掌握一些Java的基础知识,当你完全理解你在做什么的时候就去做。除非你正在试验/学习。我不想让你把代码弄乱。对不起,我帮不了你多少忙。