遍历目录,查找文件并复制到另一目录

编写一个程序,把某个目录下所有的带.java文件拷贝到另一个目录中,拷贝成功后,把后缀名是.java改成.txt

 1 import java.io.BufferedReader;
 2 import java.io.BufferedWriter;
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 import java.io.FileNotFoundException;
 6 import java.io.FileOutputStream;
 7 import java.io.IOException;
 8 import java.io.InputStreamReader;
 9 import java.io.OutputStreamWriter;
10
11 public class CopyFileDemo {
12     public static void main(String[] args) {
13         File file = new File("D://code");
14         String suffix = ".java";
15         findFile(file, suffix);
16         System.out.println("文件复制成功!");
17     }
18     /**
19      * 遍历目录,找出后缀为.java的文件
20      *
21      * @param file
22      * @param suffix
23      */
24     public static void findFile(File file, String suffix) {
25         if (file == null)
26             return;
27         if (file.isDirectory()) {// 如果file对象是目录
28             File[] files = file.listFiles();
29             if (files != null) {
30                 for (File f : files) {
31                     findFile(f, suffix);
32                 }
33             }
34         } else {// 如果file对象是文件
35             //获取jpg路径名
36             String path = file.getPath().toLowerCase();
37             //截取jpg文件名前缀
38             String prefixName = path.substring(path.lastIndexOf("\\")+1, path.indexOf("."));
39             String newFileName = prefixName + ".txt";
40             if (path.endsWith(suffix)) {
41                 // 如果文件是java文件,复制到另一个目录
42                 File targetFile = new File("F:\\test" + File.separator + newFileName);
43                 copyFile(file, targetFile);
44             }
45         }
46     }
47     /**
48      * 复制文件到另一个目录,同时修改文件后缀为.txt
49      *
50      * @param sourceFile
51      * @param targetFile
52      * @param prefix
53      * @param suffix
54      */
55     public static void copyFile(File sourceFile, File targetFile) {
56         String line = null;
57         BufferedReader br = null;
58         BufferedWriter bw = null;
59         try {
60             br = new BufferedReader(new InputStreamReader(new FileInputStream(
61                     sourceFile)));
62             bw = new BufferedWriter(new OutputStreamWriter(
63                     new FileOutputStream(targetFile)));
64             while ((line = br.readLine()) != null) {
65                 bw.write(line);
66                 bw.flush();
67             }
68         } catch (FileNotFoundException e) {
69             e.printStackTrace();
70         } catch (IOException e) {
71             e.printStackTrace();
72         } finally {
73             try {
74                 br.close();
75                 bw.close();
76             } catch (Exception e) {
77                 e.printStackTrace();
78             }
79         }
80     }
81 }
时间: 2024-12-18 15:55:24

遍历目录,查找文件并复制到另一目录的相关文章

Python脚本:linux上将筛选的文件夹复制到另一个目录,保存目录结构

import os,shutil def newDir(dir_path): if not os.path.exists(dir_path): os.makedirs(dir_path) def copydir(where_path,go_path,start_time,end_time): newDir(go_path) for brand in os.listdir(where_path): brand_path = os.path.join(where_path, brand) #prin

.Net常用技巧_目录与文件操作

using System; using System.Collections.Generic; using System.Text; using System.IO; namespace MyTool { public class FileOperator { /// <summary> /// 返回指定目录下所有文件信息 /// </summary> /// <param name="strDirectory">目录字符串</param>

linux命令学习 查找文件和文件夹

1: 查找根目录下查找文件夹名称叫XXXX的目录地址 find / -name XXXX -d 2: 查找/var/www/目录下叫index.php的文件 find /var/www/ -name index.php 3: 查找根目录下所有已".sh"结尾的文件 find / -name *.sh 原文地址:https://www.cnblogs.com/liufei1983/p/9074550.html

Tomcat禁止显示目录和文件列表

Tomcat禁止显示目录和文件列表 打开   tomcat的安装目录/conf/web.xml 文件 <servlet> <servlet-name>default</servlet-name>        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>        <init-param>            <para

tomcat如何禁止显示目录和文件列表

Tomcat禁止显示目录和文件列表 打开   tomcat的安装目录/conf/web.xml 文件 <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param

thinkphp 目录安全文件

为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的index.html文件,当然安全文件的名称可以设置,例如你想给安全文件定义为default.html可以在入口文件中添加: 大理石平台厂家 define('DIR_SECURE_FILENAME', 'default.html'); define('APP_PATH','./Application/'); require './ThinkPHP/Thin

批处理:查找指定条件的文件复制到指定的目录中

@echo off echo                         查找并复制指定条件的文件到指定的目录 echo -------------------------------------------------------------------------------- echo 请输入要搜索的目录,必须使用绝对路径 set /p mulu= echo 请输入查找条件,多个条件请用英文 , 隔开 set /p tiaojian= echo 请输入复制到的目标,必须使用绝对路径 s

使用JAVA实现比较两个文件夹下的文件新增和修改情况,并复制到新的目录(实现增量更新项目)

- 0x00 前言 之前工作的时候,经常会有客户提交BUG或者新增一个功能等需求.于是我就会在我本地修改代码,然后再打包替换客户的项目.比较麻烦的是,每次更新都需要去SVN看看都改了哪些文件,新增了哪些文件,一个一个去找,然后打包,给客户更新,有些时候一不小心就漏了或者搞错了,非常的烦.其实我一直都想做的事情就是,写一个程序,让程序去实现对比新旧两个项目,然后把新的项目多出来的文件或者变更过的文件复制出来,这样就能省去我好多工作,主要是不用人工一个个的去比对.. 太烦了. - 0x01 思路 1

linux下目录与文件的查找

参考网址:http://www.runoob.com/linux/linux-command-manual.html which命令: which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录.which指令会在环境变量$PATH设置的目录里查找符合条件的文件.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 语法 which(选项)(参数) 选项 -n<文件名长度>:制定文件名长度,指定的长度必须大于或等