Ненужное предупреждение об утечке ресурсов в Eclipse для средства записи файлов - PullRequest
0 голосов
/ 27 января 2019

Я перебираю строки файлов, которые, как ожидается, будут иметь одинаковое количество строк:

BufferedWriter writer = new BufferedWriter(new FileWriter(new File(outputFile)));
BufferedReader[] brs = new BufferedReader[inputFiles.length];
for (int i = 0; i < inputFiles.length; i++) {
    brs[i] = Files.newBufferedReader(Paths.get(inputFiles[i]), StandardCharsets.UTF_8);
}
String[] lines = new String[inputFiles.length];
boolean shouldContinue = true;
while (shouldContinue) {
    // read all next lines
    for (int i = 0; i < inputFiles.length; i++) {
        lines[i] = brs[i].readLine();
        if (lines[i] == null) {
            shouldContinue = false;
        }
    }
    // sanity check
    if (!shouldContinue) {
        for (String line : lines) {
            if (line != null) {
                for (int i = 0; i < inputFiles.length; i++) {
                    brs[i].close();
                }
                writer.close();
                throw new RuntimeException("All files should contain the same number of lines!");
            }
        }
        break;
    }
    // processing the lines
}

Однако я получаю следующее предупреждение от Eclipse Mars для строки, генерирующей исключение:

Потенциальная утечка ресурсов: «писатель» не может быть закрыт в этом месте

Я что-то не так делаю?И как это решить?

1 Ответ

0 голосов
/ 27 января 2019

Surrond с попыткой с ресурсами

 try (BufferedWriter writer = new 
      BufferedWriter(new FileWriter(new File(outputFile)))){
        //code
 } catch (Exception e) { // handle exception
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...