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文件拷贝的更多相关文章

  1. Java IO 流-- 文件拷贝

    IO流操作套路: 1.创建源: 2.选择流: 3.操作: 4.释放资源 上代码: package com.xzlf.io; import java.io.File; import java.io.Fi ...

  2. Java IO编程——文件拷贝

    在操作系统里面有一个copy命令,这个命令的主要功能是可以实现文件的拷贝处理,现在要求模拟这个命令,通过初始化参数输入拷贝的源文件路径与拷贝的目标路径实现文件的拷贝处理. 需求分析: ·需要实现文件的 ...

  3. java IO流文件拷贝文件(字节流标准写法)

    public static void copyFile(String srcPath, String destPath) { FileInputStream fis = null; FileOutpu ...

  4. java IO流文件拷贝文件(字符流标准写法)

    public static void copyFile2(String path1, String path2) { Reader reader = null; Writer writer = nul ...

  5. java IO Nio 文件拷贝工具类Files

    public static void main(String[] args) throws Exception { Files.copy(Paths.get("file/text.txt&q ...

  6. Java IO和Java NIO在文件拷贝上的性能差异分析

    1.  在JAVA传统的IO系统中,读取磁盘文件数据的过程如下: 以FileInputStream类为例,该类有一个read(byte b[])方法,byte b[]是我们要存储读取到用户空间的缓冲区 ...

  7. Java IO :文件

    在java应用程序中,文件是一种常用的数据源或者存储数据的媒介.所以这一小节将会对Java中文件的使用做一个简短的概述.这里只提供一些必要的知识点. 通过Java IO读文件 如果你需要在不同端之间读 ...

  8. 【java】io流之字节输入流:java.io.InputStream类及子类java.io.FileInputStream

    package 文件操作; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impor ...

  9. ava.io.InputStream & java.io.FileInputStream

    java.io.InputStream & java.io.FileInputStream java.io.InputStream,这个抽象类是表示字节输入流的超类,这个抽象类的共性的方法有: ...

  10. java io读写文件

    java io读写文件相关阅读:http://www.cnblogs.com/wing011203/archive/2013/05/03/3056535.html public class DemoI ...

随机推荐

  1. Electron问题记录01:关于electron的notification在win10下不显示问题

    0.问题描述 在学习electron官网的notification例程时, 使用官网的代码运行时无法按照预期弹出窗口,在查询官网时发现以下解决方法. 官网解决方法:在 Windows 10 上,您的应 ...

  2. 功能测试--Fiddler

    Fiddler(更推荐Charles,很好用) 1.fiddler是什么?------客户端的所有请求都要先经过fiddler,然后转发到服务器:反之,服务器的所有响应,也会先经过fiddler,然后 ...

  3. vue再请求头加token

    Vue:全局拦截所有请求,并在请求头中添加token - 道祖且长 - 博客园 (cnblogs.com) util.js export function sessionSet(user){ let ...

  4. git 更改子项目索引

    git update-index --cacheinfo 160000 97ed2f63b07c73bad9a4d55e96e25292 source/lvdao/crf-sdk git reset ...

  5. python3判断ip类型

    利用socket库附带的校验功能实现校验.

  6. mysql创建函数时提示1418。可选关闭二进制日志或者设置log_bin_trust_function_creators=1

    报错详情如下:1418--This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration a ...

  7. 第三章 excel的表合并

    本章内容比较简略,基于行或列进行统计运算 具体操作为:选中某一空白单元格,单击数据--数据工具--合并计算(依据需求选择数据与计算方式)

  8. MQ(为什么要使用MQ)

    为什么使用MQ? 个人认为主要由几下几点: 1.在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达数据库,直接导致无数的行锁表锁,甚至最 ...

  9. ps18.3.20

    PS添加图层蒙版,然后画笔,括号是画笔的大小,,还要调,不透明度

  10. apt常用命令 - 搬运

    Debian/Ubuntu基础的系统可以使用apt安装.卸载软件包 转自:https://www.jb51.net/os/Ubuntu/56362.html APT 常用命令如下: apt list ...