Как инструментировать системные классы Java?

Я пытаюсь добавить настраиваемое поведение к системным классам (FileInputStream / FileOutputStream). Я написал собственный ClassFileTransformer со следующим методом преобразования:

public byte[] transform(ClassLoader arg0, String arg1, Class arg2, ProtectionDomain arg3, byte[] arg4) throws IllegalClassFormatException {
    System.out.println("class name: " + arg1);
    return arg4;
}

Когда я запускаю пример программы:

public static void main(String[] args) throws Exception {
    new FileOutputStream("file");
}

я вижу, что никакие системные классы не передаются для преобразования.

Есть ли способ изменить системные классы? Заранее спасибо!

9
задан dernasherbrezon 29 November 2010 в 10:31
поделиться