有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

GWT中的java文件读取器

我有一个问题:我想在我的GWT应用程序中实现一个文件读取器,它允许用户上传一个文件并处理它的内容(在这个特殊的例子中,我谈论的是HTML)。我是如何认识到这一点的?据我所知,没有办法使用Java常用的BufferedReader。 到目前为止,我唯一发现的是:

        try {
        Request r = new RequestBuilder(RequestBuilder.GET, file).sendRequest("", new RequestCallback() {

            @Override
            public void onResponseReceived(Request request, Response response) {
                String text = response.getText();
                System.out.println("1234");
            }

            @Override
            public void onError(Request request, Throwable exception) {
                System.out.println("456");
            }

            });
    } catch (RequestException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

但如果没有“文件选择器”对话框,这将没有多大帮助

我真的很感谢你的帮助

问候


共 (5) 个答案

  1. # 3 楼答案

    您可以使用FileUpload将文件上载到服务器,然后立即使用RequestBuilder或GWT RPC将文件从服务器下载到客户端,然后在客户端使用它。您将无法使用InputStreams或Reader,因为GWT实际上并没有模拟它们(严格来说不是这样,请参见下文)

    如果是HTML,你需要小心——允许用户生成HTML到页面上有各种各样的安全隐患。GWT安全HTML机制可以用来解决其中一些问题,但这仍然取决于您来管理

    顺便说一句,创建一个在GWT-java中工作的streams/Reader实现是很简单的。木卫一。InputStream在GWT中基本上可以正常工作,但我不确定您是否可以出于许可的原因复制这个类。Apache Harmony项目包括一些实现,您可以在没有这些限制的情况下“复制”