web-dev-qa-db-fra.com

Essayez avec plusieurs ressources dans Java

Je suis nouveau en Java8, et je veux savoir si, pour la ressource AutoCloseable, je dois ajouter un try pour chaque resource, ou cela fonctionnera avec le code ci-dessus

try (Connection conn = getConnection();) {

            Statement stmt = conn.createStatement();

            ResultSet rset = stmt.executeQuery(sql);

            while (rset.next()) {
                TelefonicaDataVO vo = new TelefonicaDataVO();
                vo.setTelefonicaDataId(rset.getString("Telefonica_PSD_ID"));
                vo.setReceptionDate(nvl(rset.getTimestamp("CREATION_DATE")));
                vo.setMessage(nvl(rset.getString("MESSAGE")));
                ret.add(vo);
            }
        }
12
en Lopes

Essayez avec des ressources peut être utilisé avec plusieurs ressources en les déclarant toutes dans le bloc try et cette fonctionnalité introduite dans Java 7 pas dans Java 8 Si vous en avez plusieurs, vous pouvez donner comme ci-dessous

try (
        Java.util.Zip.ZipFile zf =
             new Java.util.Zip.ZipFile(zipFileName);
        Java.io.BufferedWriter writer = 
            Java.nio.file.Files.newBufferedWriter(outputFilePath, charset)
    ) {
        // Enumerate each entry
        for (Java.util.Enumeration entries =
                                zf.entries(); entries.hasMoreElements();) {
            // Get the entry name and write it to the output file
            String newLine = System.getProperty("line.separator");
            String zipEntryName =
                 ((Java.util.Zip.ZipEntry)entries.nextElement()).getName() +
                 newLine;
            writer.write(zipEntryName, 0, zipEntryName.length());
        }
    }

Dans cet exemple, le try-with-resources L'instruction contient deux déclarations séparées par un point-virgule: ZipFile et BufferedWriter . Lorsque le bloc de code qui le suit directement se termine, normalement ou en raison d'une exception, les méthodes de fermeture des objets BufferedWriter et ZipFile sont automatiquement appelées dans cet ordre. Notez que les méthodes proches des ressources sont appelées dans l'ordre inverse de leur création .

Veuillez consulter documentation pour plus d'informations

28
Vishnu