黑马程序员技术交流社区
标题:
一道面试题,求解
[打印本页]
作者:
l落落落叶
时间:
2015-4-28 07:41
标题:
一道面试题,求解
编写一个程序,我想把这个目录下的所有的带.java文件拷贝到另一个目录中,拷贝成功以后,把后缀名是.java改成.txt
作者:
突然世界晴
时间:
2015-4-28 08:41
回去看IO流视频吧。
作者:
彭春晓
时间:
2015-4-28 08:42
回去看IO流视频吧。
作者:
major2015
时间:
2015-4-28 09:02
额,考的就是这题
思路是查找目录下java文件时使用过滤器,然后复制到新目录时获取该文件名用replace改名存储,就是这样了。
ps:我当时运行没出来。。。囧
作者:
l落落落叶
时间:
2015-4-28 09:11
是不是用递归把目录中的文件打印到一个文本文件
作者:
海带
时间:
2015-4-28 09:55
class DemoTest{
public static void main(String[] args){
showFile();
}
public static void showFile(){
File file = new File("E:\\Exam\\src\\com\\itheima");
String[] str = file.list();
for(String strs:str ){
System.out.println(strs.replaceAll(".java", ".txt"));
}
}
}
运行结果
Test1.txt
Test10.txt
Test2.txt
Test3.txt
Test4.txt
Test5.txt
Test6.txt
Test7.txt
Test8.txt
Test9.txt
作者:
fc389119336
时间:
2015-4-28 09:57
:o还没看到。。感觉好复杂
作者:
l落落落叶
时间:
2015-4-28 10:43
找到解决办法了,还是练的少,感觉脑子不够用啊
作者:
yearn
时间:
2015-4-28 16:25
还没看到IO这里呢!
作者:
吕晓阳
时间:
2015-4-28 16:54
是面试题吗?这得写多少代码!
作者:
王烽棋
时间:
2015-4-28 17:29
哥们儿你这样高调提问很容易被管理员发现屏蔽的;P,答案在这,这是替你加的注释版赶快收藏:handshake
package com.itheima;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
/**
* 1,编写一个程序,我想把这个目录下的所有带.java文件拷贝到另一个目录下,拷贝成功以后把后缀名是.java改成.txt
* @author wfq
*
*/
public class Test {
public static void main(String[] args) throws IOException {
//文件所在文件夹
File file = new File("tempfile\\");
//目标文件夹
File file2 = new File("tempfile\\abc\\");
copyDemo(file,file2);
}
public static void copyDemo(File file, File targ){
//判断访问的目录是否存在
if(file==null)
throw new NullPointerException("访问的目录不存在..");
//对目标目录进行判断,如果不存在就创建
if (!targ.exists()) {
targ.mkdir();
}
//列出访问目录下所有符合过滤条件的文件
File[] files = file.listFiles(new FilterByName());
//创建读写流复制文件
BufferedReader bfr = null;
BufferedWriter bfw = null;
try {
for (File file2 : files) {
bfr = new BufferedReader(new FileReader(file2));
//利用正则表达式修改复制后的文件名
bfw = new BufferedWriter(new FileWriter(new File(targ,file2.getName().replaceAll("\\.java", ".txt"))));
String len = null;
while ((len=bfr.readLine())!=null) {
bfw.write(len);
bfw.newLine();
bfw.flush();
}
}
}catch (IOException e) {
}finally {
if(bfr!=null)
try {
bfr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(bfw!=null)
try {
bfw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//.java文件的过滤器
class FilterByName implements FilenameFilter{
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".java");
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2