小编Luk*_*oll的帖子

静态上下文中的getClass().getResource()

我正在尝试使用以下代码从静态方法获取资源(image.png,与此代码在同一个包中):

import java.net.*;

public class StaticResource {

    public static void main(String[] args) {
        URL u = StaticResource.class.getClass().getResource("image.png");
        System.out.println(u);
    }

}
Run Code Online (Sandbox Code Playgroud)

输出只是'null'

我也尝试了StaticResource.class.getClass().getClassLoader().getResource("image.png"); ,它抛出一个NullPointerException

我见过其他有效的解决方案,我做错了什么?

java url static getresource

5
推荐指数
1
解决办法
5338
查看次数

远程应用程序强制关闭后,检测套接字关闭

我在Java套接字方面遇到了一些麻烦.我有一对应用程序在它们之间建立连接(一个打开a ServerSocket,调用accept()和等待,另一个通过Socket(InetAddress,int)构造函数连接.

建立套接字连接后,使用Thread它创建a Runnable.

 public void run() {    
    System.out.print("Watching Socket for closing ");
    while(running) {
        if(socket.isClosed()) {
            System.out.println("Socket has been closed");
            break;
        }
    }
    this.running = false;
    //safely ends this application by closing i/o and exiting.
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当其中一个应用程序意外关闭时(在我的情况下从Eclipse终止)调用Socket.isClosed()仍显示套接字已打开,因此循环保持运行,就好像Socket已打开一样.

当另一侧的Java应用程序被强制结束时,如何检测Socket何时关闭?

java sockets

1
推荐指数
1
解决办法
342
查看次数

标签 统计

java ×2

getresource ×1

sockets ×1

static ×1

url ×1