GuardedFileOutputStream.2.java |
import java.io.*; import java.security.*; public final class GuardedFileOutputStream extends FileOutputStream { private Permission p; public GuardedFileOutputStream(String name) throws FileNotFoundException { super(name); // Création du droit à vérifier p = new FilePermission(name,"write"); } /** Écriture avec vérification de droit. */ public void write(byte[] b, int off, int len) throws IOException { // Vérification du droit p.checkGuard(null); super.write(b, off, len); } // ... Redéfinition des autres méthodes d'écriture... /** Fermeture avec vérification de droit. */ public void close() throws IOException { // Vérification du droit p.checkGuard(null); super.close(); } }