Как написать текст в файл с GWT на стороне клиента? - PullRequest
4 голосов
/ 01 марта 2011

Есть ли способ реализовать запись / чтение файла с gwt на стороне клиента? Я попытался с java.io.File, java.io.Writer ... Я не смог добиться успеха.

спасибо заранее!

Обновление: см. Мой собственный ответ для решения

Ответы [ 4 ]

9 голосов
/ 01 марта 2011

Нет, вы не можете писать в файлы на стороне клиента. GWT связывает только подмножество языка Java. Любой файловый ввод-вывод должен происходить на стороне сервера через RPC или какой-либо веб-сервис.

6 голосов
/ 26 февраля 2012

Это возможно с HTML5 в некоторых современных браузерах.Попробуйте lib-gwt-file .Эта библиотека может читать файлы с клиентского компьютера и даже поддерживает DND.Чтобы увидеть его в действии, пройдите по этой ссылке 1004 *.Более подробную информацию о HTML5 FileAPI вы можете найти в спецификации .

. Для загрузки файла из памяти браузера на клиентский компьютер вы можете использовать Data URI .Например, здесь .Но эта функция поддерживается только в Google Chrome.Также взгляните на следующую полезную функцию.Он запускает загрузку без перезагрузки текущей страницы:

public static native void setWindowHref(String url)/*-{
    $wnd.location.href = url;
}-*/;

Другой полу-кроссбраузерный способ - Downloadify .Это основано на вспышке.Проверьте это пример .

3 голосов
/ 28 июня 2014

Недавно я наткнулся на библиотеку под названием client-io .

Простая библиотека, которая предоставляет API-интерфейс Flash File API для обычных веб-приложений. через GWT. ClientIO поможет вам разгрузить часть файла создание функциональных возможностей для клиента, экономия ресурсов и тяжелые вычисление на сервер. Рабочая демонстрация - http://ahome -it.github.io / ahome-client-io /

0 голосов
/ 01 марта 2011

В GWT классы в папке клиента компилируются только в javascript, поэтому невозможно использовать

java.io

, поскольку GWT не обеспечивает компиляциюпакета

java.io

Следовательно, вы должны писать текстовый файл только через RPC.

...