D'accord, donc je viens d'écrire une petite classe et j'ai essayé d'utiliser le try avec des ressources au lieu de la méthode try-catch-finally (que je déteste faire) et je reçois toujours l'erreur "Début de type illégal". Je me suis ensuite tourné vers la section Didacticiels Java à ce sujet: http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
et il a montré que vous pouvez assigner une nouvelle variable entre les parenthèses. Je ne suis pas sûr de ce qui se passe.
private static final class EncryptedWriter {
private final Path filePath;
private FileOutputStream outputStream;
private FileInputStream inputStream;
public EncryptedWriter(Path filePath) {
if (filePath == null) {
this.filePath = Paths.get(EncryptionDriver.RESOURCE_FOLDER.toString(), "Encrypted.dat");
} else {
this.filePath = filePath;
}
}
public void write(byte[] data) {
try (this.outputStream = new FileOutputStream(this.filePath.toFile())){
} catch (FileNotFoundException ex) {
Logger.getLogger(EncryptionDriver.class.getName()).log(Level.SEVERE, null, ex);
}
}
}