相关疑难解决方法(0)

Java7 try-with-resources语句优势

我正在寻找Java7的新功能.我发现一个是 try-with-resources Statement.任何人都可以告诉我它究竟意味着什么?我们应该使用它的原因和位置,以及我们可以利用此功能的地方?即使是try声明也没有catch阻止让我感到困惑.

java java-7

50
推荐指数
5
解决办法
2万
查看次数

在Java中关闭OutputStream的正确方法?

这几乎看起来很傻但是关闭OutputStream时最可靠的模式是什么?现在我有类似下面的东西,似乎是try-catch-finally-overkill:

private void writeContentsToFile(OutputStream ostream, Properties contents) {
    try {
        contents.store(ostream, "comments");
    }
    catch (IOException e) {
        throw new ResourceException("Failed to write contents", e);
    }
    finally {
        try {
            ostream.close();
        }
        catch (IOException e) { /* what can be done here anyway? */ }
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么近距离抛出一个经过检查的异常对我来说仍然是一个谜.我可以创建执行close/catch块的包装器方法,但是如果有某些东西已经存在,就像FileUtil.closeFileAndThrowUncheckedException()我想要使​​用它一样.当你有很多具有大量开发人员的小项目时,这会变得更有用; 一种方法是正确的.

java

22
推荐指数
1
解决办法
2万
查看次数

如何以正确的方式关闭插座?

这是一个简单的TCP服务器.程序终止后如何关闭套接字?我使用try/finally并尝试关闭套接字.但是当我退出程序时它不会运行finally块.

任何人都可以知道如何以正确的方式关闭插座?

try {
        socket = new ServerSocket(port);
        System.out.println("Server is starting on port " + port + " ...");
    }catch (IOException e){
        System.out.println("Error on socket creation!");
    }

    Socket connectionSocket = null;
    try{
        while(true){            
            try{
                connectionSocket = socket.accept();
                Thread t =  new Thread(new ClientConnection(connectionSocket));
                t.start();
            }catch (IOException e) {
                System.out.println("Error on accept socket!");
            }
        }
    }finally{
        this.socket.close();
        System.out.println("The server is shut down!");
    }
Run Code Online (Sandbox Code Playgroud)

java sockets tcp

17
推荐指数
3
解决办法
8万
查看次数

从资源中读取json文件并将其转换为JAVA中的json字符串

我在我的代码中硬编码了这个 JSON 字符串。

String json = "{\n" +
              "    \"id\": 1,\n" +
              "    \"name\": \"Headphones\",\n" +
              "    \"price\": 1250.0,\n" +
              "    \"tags\": [\"home\", \"green\"]\n" +
              "}\n"
;
Run Code Online (Sandbox Code Playgroud)

我想将它移动到资源文件夹并从那里读取它,我如何在 JAVA 中做到这一点?

java configuration json

6
推荐指数
4
解决办法
2万
查看次数

关闭 AutoCloseable 的正确方法

关闭一个当什么是最可靠的模式可供遵循OutputStreamServerSocket或其他对象实现的AutoCloseable接口?

我应该使用try- catch-finally吗?或者关闭钩子。

java resources outputstream serversocket

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

尝试使用资源详细信息

使用对象我们使用3个基本步骤:

  1. 宣言
  2. 实例化
  3. 初始化

我的问题是必须采取哪些步骤 ()尝试的一部分,以便自动关闭资源.

示例1 - 将在此代码中自动关闭FileReader对象:

try (BufferedReader br = new BufferedReader(new FileReader(filePath)))
{
//some code;
} 
Run Code Online (Sandbox Code Playgroud)

示例2 - 将在此代码中自动关闭buf2:

private static BufferedReader buf1;

public static void main(String[] args) throws IOException {
    //some code
    try (BufferedReader buf2 = buf1)
    {

    } 
 }
Run Code Online (Sandbox Code Playgroud)

PS有人认为这个问题与Try With Resources和Try-Catch重复.它不是.这个问题是关于try-catch和try-with-resources之间的区别.我的问题是关于试用的细节.

java

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

为什么不能在try / catch块中访问变量?

说我有以下代码:

try {
    Reader reader = new FileReader("/my/file/location");
    //Read the file and do stuff
} catch(IOException e) {
    e.printStackTrace();
} finally {
    reader.close();
}
Run Code Online (Sandbox Code Playgroud)

为什么读者只存在于try括号内?这是为了阻止Exception在对象reader尚未初始化或设置的代码中更早抛出该异常吗?

我应该如何清理该try子句中存在的对象,还是必须将它们带到外部?

java exception-handling exception try-catch

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

什么时候关闭休眠会话?

我正在使用动态 Web 项目。我在服务器启动时打开会话。为此,我使用了一吨静态类,并在各处使用会话。

但我不确定何时关闭会话。你知道哪里可以处理吗?最佳做法是什么?

java hibernate

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