`
hellsing42
  • 浏览: 262081 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

读入一个url,把这个url的文件存到本地硬盘上(类似下载功能)

阅读更多
加入缓冲后文件正确的代码


代码
    public void downloadLatestVersion(){   
        String downloadURL=this.getLatestVersionURL();   
        try {   
            byte[] buffers=new byte[10240];   
            int size=buffers.length;   
            URL url=new URL(downloadURL);   
            HttpURLConnection conn=(HttpURLConnection) url.openConnection();   
            BufferedInputStream reader=new BufferedInputStream(conn.getInputStream());   
            File dir=new File("D:\\test.jar");   
            FileOutputStream out=new FileOutputStream(dir);   
  
            while((size=reader.read(buffers))>0){   
            out.write(buffers, 0, size);       
}   
            out.flush();   
            reader.close();   
            out.close();   
               
           
  
               
               
               
               
               
               
        } catch (Exception e) {   
            // TODO 自动生成 catch 块   
            e.printStackTrace();   
        }   
           
           
           
  
    }   


特别说明下BufferedInputStream.read(byte[] b)这个值的返回值有俩两个功能:
1.告诉你这次读入数组用了多少,比如范围为1024的数组,用此方法后返回为456,那就表示他只用了1024里面的前456个,这个值可以用writer方法中,之前出错就是因为没有对这里进行限制,都是存入1024,导致文件出问题的.
2.如果等于-1表示文件读完了.这个貌似还是有不同理解请看
http://blog.csdn.net/shendl/archive/2007/03/26/1542126.aspx
不知道各位觉得比较简单的问题是不会呢还是不屑于回答我
分享到:
评论

相关推荐

    文件下载保存、并读取文件*(输出文件字符串、文件流)

    综上所述,文件下载保存涉及网络通信和本地存储,而文件读取则涵盖多种策略以适应不同场景。了解并熟练掌握这些技术对于任何IT专业人员来说都是基础且必要的。无论是在Web开发、数据分析还是系统管理中,文件操作都...

    C#文件上传和下载(带数据库)

    在C#编程中,文件上传和下载是常见的功能,尤其在构建Web应用程序时。这个项目不仅涉及文件操作,还与数据库交互,用于管理文件的访问权限。以下将详细阐述实现这个功能所需的关键知识点: 1. **文件上传**: - **...

    android客户端上传文件到服务器端

    6. **文件流操作**:在服务器端接收到文件后,可以将其保存到硬盘。文件流的处理是关键,确保正确地读取客户端发送的文件流,并将其写入服务器的指定位置。使用`InputStream`和`OutputStream`进行操作,并注意关闭流...

    14-Java操作Linux命令分割合并文本文件1

    例如,`cat /home/leo/sd_000.txt /home/leo/sd_001.txt /home/leo/sd_002`这个命令会将三个文本文件`sd_000.txt`, `sd_001.txt`, 和 `sd_002`的内容拼接在一起,并显示在终端上。如果想要将结果保存到新的文件中,...

    asp.net多文件上传

    在ASP.NET中,多文件上传是一项常见的功能,它允许用户一次性选择并上传多个文件到服务器。这个功能在处理用户提交的图像、文档或其他类型的数据时非常有用,例如在线投稿、图片分享网站或文件共享平台。在本文中,...

    将硬盘上不在项目内的图片显示在页面上

    这个URL指向了服务器上处理图片流的特定端点,客户端通过这个URL向服务器发出请求,服务器则响应并将图片数据返回,从而实现在页面上显示硬盘上不在项目内的图片。 此外,`<img>`标签还包含了`style`属性,用于设置...

    php操作文件函数

    18. **file_get_contents()**:将整个文件读入一个字符串。 19. **file_put_contents()**:将字符串写入文件。 20. **file()**:读取整个文件并返回数组,每个数组元素对应文件的一行。 21. **fileatime()**、**...

    从网路取得图片 JAVA源码

    在这个示例中,`downloadImage`方法接收图片的URL和本地保存路径作为参数,然后按照上述步骤下载图片。`main`方法展示了如何调用`downloadImage`,并提供了一个实际的URL和本地文件名。 这个例子对于初学者来说是...

    c#图片上传功能

    它接收文件路径作为输入,创建一个`FileInfo`对象来检查文件是否存在,如果存在,则创建一个`FileStream`和`BinaryReader`,读取文件内容到字节数组。读取完成后,关闭并释放资源。如果文件不存在,它会返回一个错误...

    一个基于java nio的简单的http服务器.zip

    在这个过程中,FileChannel用于从磁盘读取文件,而SocketChannel则负责将数据写入网络。 由于这个服务器仅实现了静态资源访问功能,因此对于动态内容的处理(如CGI脚本、Servlet)是不支持的。此外,服务器可能没有...

    Spring MVC的文件下载实例详解

    在Spring MVC框架中,文件下载是一项常见的功能,用于允许用户从服务器端获取并保存文件到本地计算机。在本文中,我们将深入探讨如何实现一个完整的文件下载实例,包括从磁盘读取文件、设置适当的响应头以及处理不同...

    易语言设置TXT文件的默认打开程序

    10. **写出常用文件**:当用户关闭程序时,将当前的常用文件列表保存到磁盘上。 11. **载入**:指的是加载文件到程序中,这可能是程序启动的一部分,或者在用户选择打开文件时发生。 压缩包中的文件包括"说明.htm"...

    Lucene检索数据库支持中文检索.doc

    最后,索引会被存储到硬盘上,以便后续的搜索操作。 在搜索过程中,用户输入查询语句,该语句同样经过语法分析和语言处理生成一系列词。接着,查询语句被转化为查询树结构,便于高效搜索。索引从硬盘读入内存,利用...

    android图片三级缓存工具类

    2. **图片加载**:提供一个接口,接受图片的URL或本地路径,自动处理从缓存到网络的查找和加载过程。 3. **缓存更新**:当图片在应用中被更新时,工具类应能更新对应的缓存,确保显示最新的图片。 4. **缓存清理**...

    ASP。net( 图片处理)

    你可以通过URL或者直接加载本地文件来设置Image控件的源。 2. **服务器端图片处理**:通过System.Drawing命名空间,开发者可以进行各种服务器端的图片操作,如缩放、裁剪、旋转、调整亮度和对比度等。例如,可以...

    易语言gettext源码,易语言快速保存源码,易语言资料收集工具源码,

    3. **易采源码下载.url**: 这是一个快捷方式,可能链接到更多易语言相关的源码资源下载地址。 4. **使用手册**: 提供了关于如何操作资料收集工具的详细指南。 5. **资料收集工具(易语言2005年大赛三等奖)**: 这可能...

    2021-2022计算机二级等级考试试题及答案No.5129.docx

    11. CD-ROM与文件复制:CD-ROM通常是只读的,所以不能直接将硬盘上的文件复制到光盘上,除非使用可重写光盘。 12. 字符输入与循环:在C语言或类似的编程语言中,通过while循环读入字符,当遇到特定字符(例如'N')...

    Lucene检索数据库支持中文检索

    这个版本相比于早期版本,在性能和稳定性上有了显著提升,同时也增加了许多新特性,特别是对中文检索的支持更加完善。 ##### 3. 全文检索过程详解 全文检索可以分为两大步骤:索引创建(Indexing)和搜索索引...

    2021-2022计算机二级等级考试试题及答案No.12254.docx

    然而,这个答案并不完全准确,因为 `SequenceInputStream` 类可以将多个 `InputStream` 对象合并成一个流,从而实现一次读取多个文件的功能。 - **扩展知识**: - **InputStream**: 用于读取字节流。 - **...

    基于Stream流实现SQL Server图像字段的存取.pdf

    2. 在没有特定源的情况下,可以在内存中打开一个Stream对象,将数据写入其中,之后再保存到另一个Stream或文件中。 3. Stream对象可以通过URL指定来打开Recordset中的BLOB字段。 Stream流技术为程序员提供了诸多...

Global site tag (gtag.js) - Google Analytics