您的位置:首页 > 其它

练习 2017-08-13 将指定文件夹中的指定文件复制到指定位置并改名

2017-08-13 21:14 155 查看
package file_review;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FilenameFilter;

import java.io.InputStream;

import java.io.OutputStream;

//将指定文件夹中的指定文件复制到指定位置并改名

public class CopyDemo {
public static void main(String[] args) throws Exception {
//1:源文件位置和目标位置
File srcdir = new File("file");
File dstdir = new File("file_copy");
//通过过滤器过滤出需要的文件
File[] fs = srcdir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return new File(dir, name).isFile() && name.endsWith(".txt");
}
});
//2:创建流对象,字节输入流和输出流
byte[] buffer = new byte[1024];//创建字节数组buffer做缓存
int len = -1; // 表示每次读取的字节数  -1表示读取完成

for (File file : fs) {
InputStream in = new FileInputStream(file);//关联文件夹中的每一个文件
OutputStream out = new FileOutputStream(new File(dstdir, file.getName()));
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
//释放资源
in.close();
out.close();
}
//将文件改名为.java结尾
File[] f = dstdir.listFiles();
for (File file : f) {
String str1 = ".java";
String[] str = file.getName().split("\\.");
String ret = str[0].concat(str1);
file.renameTo(new File(dstdir, ret));
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IO