Android:仅查看存储在服务器上的文件而不下载它

时间:2014-04-23 11:37:11

标签: android android-intent android-file

我的应用程序具有查看存储在服务器上的文件的功能。

目前,我使用以下代码查看存储在服务器上的文件:

String url = "http://www.google.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

但这是首先从服务器下载文件。然后使用相应的应用程序打开该文件。

但是可以直接查看文件而无需下载吗?

请帮帮我。提前致谢。

4 个答案:

答案 0 :(得分:1)

试试这个,

try {  
        URL url = new URL("your url");
        BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
        String string;
        while ((str = in.readLine()) != null) {

        }
        in.close();
    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
</code>

答案 1 :(得分:0)

  

但是可以直接查看文件而无需下载吗?

不,据我所知。每当您想要查看服务器上的内容时,首先会将这些内容下载到客户端。一次下载多少数据取决于实现。

答案 2 :(得分:0)

正如我在评论中所说,查看文件需要下载 你的意思是,你不想存储它。

问题是Android意图系统没有提供这种程度的灵活性,这通常是一件好事。你告诉它要查看一个文件,它可以用任何应用程序来做。存储它没有问题,你必须存储它。问题是 存储它。要查看它,您必须至少将其存储在内存中,将其存储为Android托管临时文件也可以满足您的需求,将其存储在其他地方并在之后删除它会出现什么问题?

如果您确实需要将其存储到自定义位置,则必须离开意图系统并自行下载。

答案 3 :(得分:0)

意图是&#34; http://www.google.com&#34 ;;你没有下载任何文件。您也没有指定文件。默认应用程序将联系&#34; http://www.google.com&#34 ;;并收到一些HTML源码。这与文件无关。