Traverse JavaFileObjects входит в бесконечный циклJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Traverse JavaFileObjects входит в бесконечный цикл

Сообщение Anonymous »

Я пытаюсь использовать API Java-компилятора. Сначала у меня есть «mytest.java», который работает хорошо. Тогда у меня есть этот код:

Код: Выделить всё

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
String[] as = new String[]{"mytest.java"};
List list = Arrays.asList(as);
Iterable fileObjects = fileManager.getJavaFileObjectsFromStrings(list);
for (Iterator it = fileObjects.iterator(); it.hasNext(); ) {
//RegularFileObject str = (RegularFileObject) it.next();
System.out.println("for loop");
}
(1) Я ожидал, что цикл for сможет перебирать все объекты JavaFileObject. В моем случае там всего один файл, верно? Но при запуске программы она печатает много циклов for без остановки. Я ожидаю, что он будет напечатан только один раз.
Так что же здесь не так?
(2) RegularFileObject не является открытым классом, так как я могу просмотреть содержимое этих файловых объектов?

Подробнее здесь: https://stackoverflow.com/questions/535 ... inite-loop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»