#file #gwt #file-io #filesystems
#файл #gwt #file-io #файловые системы
Вопрос:
Я попробовал следующий код,
File folder = new File("/path/of/the/directory");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i ) {
if (listOfFiles[i].isFile()) {
if ((listOfFiles[i].getName()).contains(".xml")) {
Window.alert("File " listOfFiles[i].getName());
}
}
}
Но я получил эту ошибку:
No source code is available for type java.io.File; did you forget to inherit a required module ?
Может ли кто-нибудь помочь мне сделать то же самое с помощью GWT?
Заранее спасибо, Gnik
Ответ №1:
Краткий ответ
Вы не можете использовать Java.io.File
класс в GWT.
За исключением случаев, когда вы используете gwt-filesystem
«Большой» ответ
Из групп :
Вы не сможете использовать java.io .Файл на клиенте. Вы не можете получить доступ к файловой системе клиента без использования апплета, Flash, ActiveX или другого компонента, на который пользователь предоставил разрешение.
Вы должны перейти к документации Google о ссылке на эмуляцию JRE.
Согласно документации :
Google Web Toolkit включает библиотеку, которая эмулирует подмножество библиотеки Java runtime library. В приведенном ниже списке показан набор пакетов JRE, типов и методов, которые GWT может автоматически переводить. Обратите внимание, что в некоторых случаях для данного типа поддерживается только подмножество методов.
Однако вы можете использовать проект gwt-filesystem :
Эта библиотека добавляет поддержку файловой системы на основе браузера к приложениям, разработанным с использованием Google Web Toolkit (GWT), на основе спецификации файловой системы HTML5.
Комментарии:
1. Сандро Мунда, спасибо. Но я не могу получить зависимость от gwt-файловой системы (т. Е. файла jar). Можете ли вы указать мне веб-сайт, где я могу загрузить файл jar? Заранее спасибо, Gnik
2. 1) Возьмите zip: github.com/bradrydzewski/gwt-filesystem/zipball/master 2) разархивируйте и создайте mvn-пакет, чтобы получить файл .jar.
3. Сандро, спасибо. Я получил файл jar. Большое вам спасибо. Gnik
4. Сандро, я попытался перечислить файлы в моем локальном каталоге. Но не смог этого сделать. Можете ли вы дать мне пример кода для получения списка файлов в каталоге с использованием gwt-filesystem. Заранее спасибо, Gnik
5. Сандро, можешь ли ты дать мне пример кода для получения списка файлов в каталоге с использованием gwt-filesystem. Заранее спасибо, Gnik
Ответ №2:
// Works fine with GWT 2.6.1 and appengine sdk 1.9.13 deployed to App Engine
StringBuilder sb = new StringBuilder();
java.io.File folder = new File(".");
java.io.File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i ) {
sb.append(listOfFiles[i].getName() "n");
}
return sb.toString();
listOfFiles[i].isFile()) выдал бы java.security.Исключение AccessControlException, но вышеупомянутое сработало. Он вернул имена файлов и папок верхнего уровня в моей войне по умолчанию, например, _ah WEB-INF home.html значок.ico testfile.txt home.css главная