当前位置: 首页 > 知识库问答 >
问题:

在Android上下载一个文本文件[副本]

孙恩
2023-03-14

我需要从服务器下载一个文本文件,并将其保存在内存中。然后一行行地去读。更好的是直接从服务器逐行离读。

编辑:“将其保存在内存中”的意思是不将其写入文件。

你会怎么做?

谢谢!

共有1个答案

公冶谦
2023-03-14

它有什么不可能的?请尝试以下代码:注意创建文件的上下文可以是activity/ApplicationContext/等。

public boolean downloadFile(final String path)
    {
        try
        {
            URL url = new URL(path);

            URLConnection ucon = url.openConnection();
            ucon.setReadTimeout(5000);
            ucon.setConnectTimeout(10000);

            InputStream is = ucon.getInputStream();
            BufferedInputStream inStream = new BufferedInputStream(is, 1024 * 5);

            File file = new File(CONTEXT.getDir("filesdir", Context.MODE_PRIVATE) + "/yourfile.png");

            if (file.exists())
            {
                file.delete();
            }
            file.createNewFile();

            FileOutputStream outStream = new FileOutputStream(file);
            byte[] buff = new byte[5 * 1024];

            int len;
            while ((len = inStream.read(buff)) != -1)
            {
                outStream.write(buff, 0, len);
            }

            outStream.flush();
            outStream.close();
            inStream.close();

        }
        catch (Exception e)
        {
            e.printStackTrace();
            return false;
        }

        return true;
    }

这是一个简单的文件r/w,使用了activity的context

编辑:根据您最近更改的问题,我在此发布:

试试这段代码:

try {
    // Create a URL for the desired page
    URL url = new URL("ksite.com/thefile.txt");

    // Read all the text returned by the server
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
    String str;
    while ((str = in.readLine()) != null) {
        // str is one line of text; readLine() strips the newline character(s)
    }
    in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}

这应该行得通

 类似资料:
  • 问题内容: 我需要处理分散在各个目录中的多个文件。我想将所有这些加载到单个RDD中,然后在其上执行map / reduce。我看到SparkContext能够使用通配符从单个目录加载多个文件。我不确定如何从多个文件夹加载文件。 以下代码段失败: 这在第三个循环中失败,并显示以下错误消息: 鉴于我仅提供了两个参数,所以这很奇怪。任何指针表示赞赏。 问题答案: 措辞如何呢? 在Scala中,有两种变体

  • 我刚刚打开我的android工作室,它向我显示了“下载组件”对话框,其中包含消息“下载Android SDK工具,修订版24.2”。 现在,我从来没有要求这个更新,它也没有要求我。我等了大约半个小时来完成这该死的事情,但它只是卡住了。 有没有什么方法可以简单地消除android Studio中android SDK工具的自动更新和下载?

  • ; 该脚本使用 HM VNISEdit 脚本编辑器向导产生 ; 安装程序初始定义常量 !define PRODUCT_NAME "下载专用程序" !define PRODUCT_VERSION "1.0" SetCompressor lzma ; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------ !include "MUI.nsh" ; MUI 预定义常量 !d

  • 上图显示了数据表中图像的id。当用户单击download时,应该下载对应于该id的图像。然而,我不确定如何做到这一点。有人能给我链接到教程或给我一些如何实现这一点的指针吗?

  • 我想提供一个功能,用户可以审查他们上传的所有图像。在我的firebase存储中,它包含文件夹中的用户映像。 但是,我不知道如何获得完整用户文件的引用。我尝试了下面的代码来下载它,但是我得到了一个错误代码。 我只想获得一个列表的图像的下载url的Json格式。例如,

  • 我使用PyCharm社区创建了我的网站。 我在上,现在我希望在上部署该站点。 但是我不知道在创建实例之后如何继续。 有人能指导我如何上传我的文件使用和。 先谢谢你