黑马程序员技术交流社区
标题:
一道模拟点招题
[打印本页]
作者:
流空有痕
时间:
2016-9-15 20:20
标题:
一道模拟点招题
编写一个程序,把指定目录下的所有的带.java文件都拷贝到另一个目录中,拷贝成功后,把后缀名是.java的改成.txt。
public static void main(String[] args) throws IOException {
// 封装d:\\java这个目录
File startFile = new File("e:\\java");
// 获取该目录下的所有满足条件的数组
File[] files = startFile.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.exists()&&pathname.getName().endsWith(".java");
}
});
// 判断目的地是否存在,不存在就建立
File endFile = new File("e:\\jar");
if (!endFile.exists()) {
endFile.mkdir();
}
// 遍历文件数组
for (File f : files) {
String name = f.getName(); // 得到文件名
File newFile = new File(endFile, name);// 将路径和文件名拼接
BufferedReader br = new BufferedReader(new FileReader(f));
BufferedWriter bw = new BufferedWriter(new FileWriter(newFile));
String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();// 释放资源
br.close();
}
// 改名
File[] endFileArray = endFile.listFiles();
for (File file : endFileArray) {
String name = file.getName();
String newname = name.replace(".java", ".jar");
File newFile = new File(endFile, newname);
file.renameTo(newFile);
}
作者:
流空有痕
时间:
2016-9-15 20:29
我发现这个答案很有问题
1.输入的路径没有判断功能
2.没用递归,怎么把目录里的内容都拷贝?
3.运行之后发现就创建了文件夹,里面都是空的
作者:
顾祯杰
时间:
2016-9-15 20:35
楼上正解 没递归你怎么保证他的层级的呀?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2