A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

将java的文件改成txt然后复制到制定目录下
  1. package chart8;

  2. import java.io.BufferedReader;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.io.InputStreamReader;
  8. /*
  9. * 思路:
  10. * 1,输入路径
  11. * 2,判断是否是存在以及是否是文件夹
  12. * 3,将文件夹传入copyDeom方法中
  13. * */
  14. public class JavaFileCopy
  15. {
  16.         public static void main(String[] args)
  17.         {
  18.                 System.out.println("请输入需要复制的文件夹路径");
  19.                 BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
  20.                 String path = null;
  21.                 try
  22.                 {
  23.                         path = bufr.readLine();
  24.                 }
  25.                 catch (IOException e)
  26.                 {
  27.                         // TODO Auto-generated catch block
  28.                         e.printStackTrace();
  29.                 }
  30.                 File dir = new File(path);
  31.                 if((dir.exists()&&dir.isFile()))
  32.                 {
  33.                         System.out.println("路径不对");
  34.                 }
  35.                 copyAndRename(dir);
  36.                 System.out.println("复制成功");
  37.                
  38.         }
  39.         public static void copyAndRename(File dir)
  40.         {
  41.                 File[] files = dir.listFiles();
  42.                
  43.                 for(File file:files)
  44.                 {
  45.                         if(file.isDirectory())
  46.                         {
  47.                                 copyAndRename(file);
  48.                         }
  49.                         else
  50.                         {
  51.                                 /*File[] filess = file.listFiles(new FilenameFilter() {
  52.                                        
  53.                                         @Override
  54.                                         public boolean accept(File file, String name) {
  55.                                                 // TODO Auto-generated method stub
  56.                                                 return name.endsWith(".java");
  57.                                         }
  58.                                        
  59.                                 });
  60.                                 for(File file1 :filess)*/
  61.                                
  62.                                 //本想用过滤器,但是发现,过滤器用上了,总是空指针异常为啥呢?

  63.                                 if(file.getName().endsWith(".java"))
  64.                                 {
  65.                                        
  66.                                         File newDir = new File("D:\\IO8\\TEXT");
  67.                                         if(!(newDir.exists()))
  68.                                         {
  69.                                                 newDir.mkdirs();
  70.                                         }
  71.                                         String newName = file.getName().replaceAll(".java", ".txt");
  72.        
  73.                                         FileInputStream fis=new FileInputStream(file);
  74.                                         FileOutputStream fos = new FileOutputStream(new File(newDir,newName));
  75.                                                 byte[] buf = new byte[1024];
  76.                                                 int len = -1;
  77.                                                 while((len= fis.read(buf))!=-1)
  78.                                                 {
  79.                                                         fos.write(buf, 0, buf.length);
  80.                                                 }
  81.                                                 fis.close();
  82.                                                 fos.close();
  83.                                                
  84.                                
  85.                                 }
  86.                                
  87.                         }
  88.                 }
  89.                
  90. }
复制代码

评分

参与人数 1技术分 +3 收起 理由
lwj123 + 3

查看全部评分

7 个回复

倒序浏览
我也不知道,刚学问io,看了你的代码相当于复习了一下
回复 使用道具 举报
过来看看
回复 使用道具 举报
帮顶一下
回复 使用道具 举报
本帖最后由 fluency 于 2015-1-17 13:30 编辑

总之listFiles是给目录列文件的 本身是文件了用了listFile结果也是个Null
回复 使用道具 举报 1 0
怎么没有金马币 我的技术分啊
回复 使用道具 举报
fluency 发表于 2015-1-17 13:24
总之listFiles是给目录列文件的 本身是文件了用了listFile结果也是个Null

大神。。太牛气了!!!!!!我一直纠结在for循环是不是不能更改文件上。原来是这里!!!!!!!
回复 使用道具 举报
温晓慧 发表于 2015-1-17 19:40
大神。。太牛气了!!!!!!我一直纠结在for循环是不是不能更改文件上。原来是这里!!!!!!! ...

嘿嘿客气客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马