java 文件 关闭_Java 自定义方法批量关闭文件

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Properties;

/**

1、建立联系 File对象 源头 目的地

2、选择流

文件输入流 InputStream FileInputStream

文件输出流 OutputStream FileOutputStream

3、操作 : 拷贝

byte[] flush =new byte[1024];

int len =0;

while(-1!=(len=输入流.read(flush))){

输出流.write(flush,0,len)

}

输出流.flush

4、释放资源 :关闭 两个流

* @author Administrator

*

*/

public class CopyFileDemo {

/**

* @param args

* @throws IOException

* @throws FileNotFoundException

*/

public static void main(String[] args) throws FileNotFoundException, IOException {

String src ="E:/xp/test";

String dest="e:/xp/test/4.jpg";

try {

copyFile(src,dest);

} catch (FileNotFoundException e) {

e.printStackTrace();

System.out.println("文件不存在");

} catch (IOException e) {

e.printStackTrace();

System.out.println("拷贝文件失败|关闭流失败");

}

}

/**

* 文件的拷贝

* @param 源文件路径

* @param 目录文件路径

* @throws FileNotFoundException,IOException

* @return

*/

public static void copyFile(String srcPath,String destPath)

throws FileNotFoundException,IOException {

//1、建立联系 源(存在且为文件) +目的地(文件可以不存在)

File src =new File(srcPath);

File dest =new File(destPath);

if(! src.isFile()){ //不是文件或者为null

System.out.println("只能拷贝文件");

throw new IOException("只能拷贝文件");

}

//2、选择流

InputStream is =new FileInputStream(src);

OutputStream os =new FileOutputStream(dest);

//3、文件拷贝 循环+读取+写出

byte[] flush =new byte[1024];

int len =0;

//读取

while(-1!=(len=is.read(flush))){

//写出

os.write(flush, 0, len);

}

os.flush(); //强制刷出

//关闭流

FileUtil.closeAll(os,is);

}

/**

* 1.7新特性 try --with --resource

* @param srcPath

* @param destPath

* @throws FileNotFoundException

* @throws IOException

*/

public static void copyFile2(String srcPath,String destPath)

throws FileNotFoundException,IOException {

//1、建立联系 源(存在且为文件) +目的地(文件可以不存在)

File src =new File(srcPath);

File dest =new File(destPath);

if(! src.isFile()){ //不是文件或者为null

System.out.println("只能拷贝文件");

throw new IOException("只能拷贝文件");

}

//2、选择流

try(

InputStream is =new

FileInputStream(src);

OutputStream os =new

FileOutputStream(dest);

){

//3、文件拷贝 循环+读取+写出

byte[] flush =new byte[1024];

int len =0;

//读取

while(-1!=(len=is.read(flush))){

//写出

os.write(flush, 0, len);

}

os.flush(); //强制刷出

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值