防止资源泄漏的正确方法是使用
try..finally
serverSocket = new ServerSocket(serverPort);
try {
File incomingFile = new File("testfile.txt");
while (true) {
// your code
}
} finally {
serverSocket.close();
}
或使用
try-with-resources
像这样构造
try (serverSocket = new ServerSocket(serverPort)) {
File incomingFile = new File("testfile.txt");
while (true) {
// your code
}
}
代码无法访问的原因是
while
回路未终止。还应注意
serverSocket
在代码中的该点不能为null,因为除非引发异常,否则构造函数必须始终生成新实例。