java-io FileInputStream文件拷贝
1、编写代码
main方法:
public static void main(String[] args) throws IOException {
String pathFileUrl ="C:/Users/xxx/Desktop/boardDevice/videoFiles/1677749222547.docx";
//String pathFileUrl ="D:\\images\\6d3a8ae483ba9016284d582b3af98670.png";
//String pathFileUrl ="D:\\boardDevice\\video\\1677829260585.mp4";
copyFileLogic(pathFileUrl);
}
copyFileLogic处理路径信息:
public static void copyFileLogic(String oldPath) throws IOException {
String newPath = "C:/Users/xxx/Desktop/boardDevice/copyFiles";
File file = new File(newPath);
if (!file.exists()){
file.mkdirs();
}
String[] split = oldPath.split("/");
String fileName = split[split.length - 1];
String suffix = fileName.split("\\.")[1];
String files = newPath +"/"+System.currentTimeMillis()+"."+suffix;
copyFileMethod(oldPath,files);
}
copyFileMethod文件拷贝:
public static void copyFileMethod(String oldPath,String newPath) throws IOException {
FileInputStream fis = null;
FileOutputStream fos = null;
BufferedOutputStream bos = null;
try {
fis = new FileInputStream(new File(oldPath));
fos = new FileOutputStream(newPath);
bos=new BufferedOutputStream(fos);
byte[] bytes=new byte[1024];
int len = 0;
while ((len = fis.read(bytes))!= -1){
bos.write(bytes,0,len);
}
}finally {
if (fis != null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bos != null){
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
jdk1.7 try(){}自动关闭流:
public static void copyFileMethod(String oldPath,String newPath)throws Exception {
int len = 0;
//读取完毕自动关闭。。。。
byte[] bytes=new byte[1024];
try (
FileOutputStream fos = new FileOutputStream(new File(newPath));
BufferedOutputStream bos=new BufferedOutputStream(fos);){
try (
InputStream is = new FileInputStream(new File(oldPath));
BufferedInputStream bis=new BufferedInputStream(is)){
while ((len = bis.read(bytes)) != -1){
bos.write(bytes,0,len);
}
}
}
}
java-io FileInputStream文件拷贝的更多相关文章
- Java IO 流-- 文件拷贝
IO流操作套路: 1.创建源: 2.选择流: 3.操作: 4.释放资源 上代码: package com.xzlf.io; import java.io.File; import java.io.Fi ...
- Java IO编程——文件拷贝
在操作系统里面有一个copy命令,这个命令的主要功能是可以实现文件的拷贝处理,现在要求模拟这个命令,通过初始化参数输入拷贝的源文件路径与拷贝的目标路径实现文件的拷贝处理. 需求分析: ·需要实现文件的 ...
- java IO流文件拷贝文件(字节流标准写法)
public static void copyFile(String srcPath, String destPath) { FileInputStream fis = null; FileOutpu ...
- java IO流文件拷贝文件(字符流标准写法)
public static void copyFile2(String path1, String path2) { Reader reader = null; Writer writer = nul ...
- java IO Nio 文件拷贝工具类Files
public static void main(String[] args) throws Exception { Files.copy(Paths.get("file/text.txt&q ...
- Java IO和Java NIO在文件拷贝上的性能差异分析
1. 在JAVA传统的IO系统中,读取磁盘文件数据的过程如下: 以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区 ...
- Java IO :文件
在java应用程序中,文件是一种常用的数据源或者存储数据的媒介.所以这一小节将会对Java中文件的使用做一个简短的概述.这里只提供一些必要的知识点. 通过Java IO读文件 如果你需要在不同端之间读 ...
- 【java】io流之字节输入流:java.io.InputStream类及子类java.io.FileInputStream
package 文件操作; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impor ...
- ava.io.InputStream & java.io.FileInputStream
java.io.InputStream & java.io.FileInputStream java.io.InputStream,这个抽象类是表示字节输入流的超类,这个抽象类的共性的方法有: ...
- java io读写文件
java io读写文件相关阅读:http://www.cnblogs.com/wing011203/archive/2013/05/03/3056535.html public class DemoI ...
随机推荐
- 【搭建】【转】搭建 yum仓库
https://blog.csdn.net/wuxingge/article/details/100761637 3.2 服务端部署 1)安装软件程序(createrepo) yum install ...
- DFS专题1
例题一 39.组合总和 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 , ...
- .net创建、发布、引用webservice项目
创建webservice引用 增加代码: 运行如下: 之后就可以发布我们的项目了,右击项目,选择发布: 此地址不要选择项目地址,另外创建一个地址: 至此,发布成功,接下来iis增加web网站: 这里i ...
- 字符串练习1 于是他错误的点名开始了(Trie)
题目链接在这里:P2580 于是他错误的点名开始了 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 是一道trie树的板子题,注意理解trie树的每一个节点代表的是一个状态,这个状态 ...
- 2021SWPUCTF-WEB(一)
gift_F12 给了一个网站,题目提示是F12,就F12找一下 WLLMCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft} jicao 一个代码,逻辑很简单 大 ...
- P2962 [USACO09NOV]Lights G(Meet In The Middle)
[USACO09NOV]Lights G 题目描述 给出一张n个点n条边的无向图,每个点的初始状态都为0. 你可以操作任意一个点,操作结束后该点以及所有与该点相邻的点的状态都会改变,由0变成1或由1变 ...
- adb命令1
adb是什么 adb的全称为Android Debug Bridge,就是起到调试桥的作用.它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互. adb有什么用 借助adb工具,我们可以 ...
- ansible用authorized_key模块批量推送密钥到受控主机实现免密登录
一,ansible的authorized_key模块的用途 用来配置密钥实现免密登录: ansible所在的主控机生成密钥后,如何把公钥上传到受控端? 当然可以用ssh-copy-id命令逐台手动处理 ...
- IDEA编写JSP无代码提示
网上的版本 网上的版本 网上的我试了 但是未能解决 我自己解决的方法是 File => Poject Struct=>Modules=>"+"=>找到自己系 ...
- Netty 线程模型(Reactor 线程模型)
更多内容,前往个人博客 当说到 Netty 线程模型的时候,一般首先会想到经典的 Reactor 线程模型,尽管不同的 NIO 框架对于 Reactor 模式的实现存在差异,但本质上还是遵循了 Rea ...