黑马程序员技术交流社区
标题:
复制文件夹
[打印本页]
作者:
Jam-l
时间:
2013-10-11 17:26
标题:
复制文件夹
本帖最后由 Jam-l 于 2013-10-11 17:48 编辑
今天下午面试完了,面试成绩39分还好,面试中问到了一个复制文件夹的问题,由于描述不是很清楚.这是之前自己写的一个代码,其有些判断文件存在的问题没有完善.不过大概也可以完成对文件夹的复制,并把复制文件夹下的.java文件转换成.txt文件.以下是代码:
<p>/*
* 复制一个文件夹
*/
public class Demo4 {
public static void main(String[] args) {
File srcDir = new File("G:\\123");
File destDir = new File("G:\\321");
destDir.mkdir();
findFile(srcDir,destDir);
}</p><p>private static void findFile(File srcDir, File destDir) {
File[] files = srcDir.listFiles();
for(File file:files){
if(file.isDirectory()){
String dirName = file.getName();
File newDir = new File(destDir+"\\"+dirName);
newDir.mkdir();
findFile(file, newDir);
}else{
try {
String fileName = file.getName();
String[] str = fileName.split("\\.");
File newFile = new File(destDir+"\\"+str[0]+".txt");
newFile.createNewFile();
copyFile(file,newFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}</p><p> private static void copyFile(File file,File newFile) {
try {
BufferedReader bufr = new BufferedReader(new FileReader(file));
BufferedWriter bufw = new BufferedWriter(new FileWriter(newFile));
String line = null;
while((line=bufr.readLine())!=null){
bufw.write(line);
}
bufr.close();
bufw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}</p>
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2