将用户输入在控制台上的指定路径下所有的.txt文件复制到c盘下随意目录(你可以自
己指定路径)并在复制后将.txt后缀名更改成.java后缀名
public class Test1 { public static void main(String[] args) throws IOException { // 封装目录
File srcfile = new File(“d:\\test”); File desfile = new File("d:\\demo"); if (!desfile.exists()) { desfile.mkdir();
}
File[] fileArray = srcfile.listFiles(new FilenameFilter() {
@Override
public boolean accept(File file, String name) { return new File(file, name).isFile() && name.endsWith(".txt");
}
});
for (File file : fileArray) { // d:\\demo\\a.mp3
File newfile = new File(desfile, file.getName());
copyFile(file, newfile);
}
// 在目的地下改名
File[] files = desfile.listFiles(); for (File file : files) { File newfile = new File(desfile, file.getName().replace(".txt",".java")); file.renameTo(newfile);
}
}
//复制文件
private static void copyFile(File file, File newfile) throws IOException { //封装数据源,高效流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
file));
//封装目的地,高效流
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(newfile));
黑马程序员入学面试复习
//一次复制一个字节数组 byte[] bys = new byte[1024]; int len = 0;
while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); bos.flush();
}
//释放资源 bos.close(); bis.close();
}
} |
|