博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用FileChannel下载本地文件及扩展
阅读量:4039 次
发布时间:2019-05-24

本文共 675 字,大约阅读时间需要 2 分钟。

/**     * 使用文件通道下载本地文件     * @param source 本地文件路径     * @param target 下载保存路径     *      */    public static void downLoadFile(String source,String target) throws FileNotFoundException, IOException{        FileInputStream fi=new FileInputStream(source);        FileOutputStream fo=new FileOutputStream(target);        FileChannel ci=fi.getChannel();        FileChannel co=fo.getChannel();        co.transferFrom(co, 0, (new File(source)).length());        co.close();ci.close();fi.close();fo.close();    }

这是从已经存在的文件进行下载。进一步,观察源码,我们可以干脆的用一个输入流来代替当前的本地文件,但是这又引起了新的问题,这个输入流里面的数据长度是多少呢?单位是什么呢?

经过仔细的观察FileChannel的API,我们会发现它的缓冲区设置的长度单位是byte,这样的只有进行将输出结果组成一个字符串,然后返回它byte形式下的长度才可以。

转载地址:http://ohpdi.baihongyu.com/

你可能感兴趣的文章
ES写入找不到主节点问题排查
查看>>
Java8 HashMap集合解析
查看>>
ArrayList集合解析
查看>>
欢迎使用CSDN-markdown编辑器
查看>>
Android计算器实现源码分析
查看>>
Android系统构架
查看>>
Android 跨应用程序访问窗口知识点总结
查看>>
各种排序算法的分析及java实现
查看>>
SSH框架总结(框架分析+环境搭建+实例源码下载)
查看>>
js弹窗插件
查看>>
自定义 select 下拉框 多选插件
查看>>
js判断数组内是否有重复值
查看>>
js获取url链接携带的参数值
查看>>
gdb 调试core dump
查看>>
gdb debug tips
查看>>
arm linux 生成火焰图
查看>>
linux和windows内存布局验证
查看>>
linux config
查看>>
linux insmod error -1 required key invalid
查看>>
linux kconfig配置
查看>>