精华内容
下载资源
问答
  • #include stdafx.h#include windows.h#include #应用场景:比如有一个深层次的文件目录结构,如:javaAPI每个文件里面都有相同的内容,而我们要统一修改为其他内容。上千个文件如果一个个修改显得太不明智。[比如,...

    [经常碰到朋友,尤其是初学者对指定文件夹下指定类型文件的读取很困惑,这里,我把自己经常用的程序贴出来,供初学者学些;#include stdafx.h#include windows.h#include #

    应用场景:比如有一个深层次的文件目录结构,如:javaAPI

    每个文件里面都有相同的内容,而我们要统一修改为其他内容。上千个文件如果一个个修改显得太不明智。[比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:sed -i s/zhangsan/lisi/g `grep zhangsan -rl /modules`解释一下:-i 表示inplace edit,就地修

    import java.io.BufferedReader;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.InputStreamReader;

    import java.io.PrintWriter;

    public class Test {

    /**

    * @author itmyhome

    */

    public static void main(String[] args) {

    File f = new File("F:/javaAPI/java/lang/reflect");

    print(f, 0);

    }

    /**

    * 遍历文件夹

    *

    * @param f

    * @param len

    */

    public static void print(File f, int len) {

    File[] file = f.listFiles();

    for (int i = 0; i < file.length; i++) {

    if (file[i].isDirectory()) { //判断是否文件夹

    print(file[i], len + 1);

    }

    // 为防止输出文件覆盖源文件,所以更改输出盘路径 也可自行设置其他路径

    File outPath = new File(file[i].getParent().replace("F:", "E:"));

    File readfile = new File(file[i].getAbsolutePath());

    if (!readfile.isDirectory()) {

    String filename = readfile.getName(); // 读到的文件名

    String absolutepath = readfile.getAbsolutePath(); // 文件的绝对路径

    readFile(absolutepath, filename, i, outPath); // 调用 readFile

    }

    }

    }

    /**

    * 读取文件夹下的文件

    *

    * @return

    */

    public static void readFile(String absolutepath, String filename,

    int index, File outPath) {

    try {

    BufferedReader bufReader = new BufferedReader(new InputStreamReader(

    new FileInputStream(absolutepath), "gb2312")); // 数据流读取文件

    StringBuffer strBuffer = new StringBuffer();

    String newStr = "i love you too";

    String oldStr = "i love you";

    for (String temp = null; (temp = bufReader.readLine()) != null;

    temp = null) {

    if ((temp.indexOf(oldStr) != -1) &&

    (temp.indexOf(oldStr) != -1)) { // 判断当前行是否存在想要替换掉的字符

    temp = temp.replace(oldStr, newStr); // 此处进行替换

    }

    strBuffer.append(temp);

    strBuffer.append(System.getProperty("line.separator")); // 换行符

    }

    bufReader.close();

    if (outPath.exists() == false) { // 检查输出文件夹是否存在,若不存在先创建

    outPath.mkdirs();

    System.out.println("已成功创建输出文件夹:" + outPath);

    }

    PrintWriter printWriter = new PrintWriter(outPath + "\\" +

    filename, "gb2312"); // 替换后输出文件路径

    printWriter.write(strBuffer.toString().toCharArray()); //重新写入

    printWriter.flush();

    printWriter.close();

    System.out.println("第 " + (index + 1) + " 个文件 " + absolutepath +

    " 已成功输出到 " + outPath + "\\" + filename);

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    }

    [项目中要使用删除文件的功能,于是找了找资料,总结了一些方法,其实都很简单的。希望对大家有帮助:常用文件函数:if(finder.IsDirectory()   &&   !finder.IsDots())   /

    展开全文
  • 思路: file.listFiles方法获得...后缀名替换用字符串替换的方法 实现代码: package copy; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileFilter;...

    思路:
    file.listFiles方法获得文件数组
    fileFilter过滤文件
    封装一个文件复制方法
    后缀名替换用字符串替换的方法

    实现代码:

    package copy;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileFilter;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class Test {
    	public static void main(String[] args) {
    		//获取.java文件数组
    		File[] javaFiles=new File("d:/java").listFiles(new FileFilter() {
    			
    			@Override
    			public boolean accept(File pathname) {
    				if(pathname.getName().endsWith(".java")) {
    					return true;
    				}
    				return false;
    			}
    		});
    //		System.out.println(javaFiles.length);
    		
    		//遍历,copy,改名
    		File jadDirectory=new File("d:/jad");
    		if(!jadDirectory.exists()) {
    			jadDirectory.mkdirs();
    		}
    		for(File f:javaFiles) {
    			copy(f, new File("d:/jad/"+f.getName().replace(".java", ".jad")));
    		}
    	}
    	
    	public static void copy(File src,File dest) {
    		BufferedReader br=null;
    		BufferedWriter bw=null;
    		try {
    			br=new BufferedReader(new FileReader(src));
    			bw=new BufferedWriter(new FileWriter(dest));
    			String line=null;
    			while((line=br.readLine())!=null) {
    				bw.write(line);
    				bw.newLine();
    				bw.flush();
    			}
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}finally {
    			try {
    				if(bw!=null) {
    					bw.close();
    				}
    				if(br!=null) {
    					br.close();
    				}
    			}catch(IOException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }
    
    

    测试效果:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 2.要复制目录下的所有文件,首先查询File类的方法,可以使用listFiles方法得到目录下的文件 3.想到这问题基本就解决了,遍历目录下的所有文件,如果不是.txt文件,那么就直接利用流进行复制(复制路径要进行路径名的重设,...

    **解题思路:
    1.首先定义一个静态的refile方法,参数传入两个文件路径
    2.要复制目录下的所有文件,首先查询File类的方法,可以使用listFiles方法得到目录下的文件
    3.想到这问题基本就解决了,遍历目录下的所有文件,如果不是.txt文件,那么就直接利用流进行复制(复制路径要进行路径名的重设,也就是拼串操作,具体见代码)如果是.txt文件,那么就要将文件名替换为.java**

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.Reader;
    import java.io.Writer;
    
    public class FileDemo {
        public static void main(String[] args) throws IOException {
            File file = new File("D:\\day05");
            File file1 = new File("D:\\copy");
            refile(file,file1);
    
    
        }
        public static void refile(File file,File file1) throws IOException{
    
            File[] listFiles = file.listFiles();
            for (int i = 0; i < listFiles.length; i++) {
                File file2 = listFiles[i];
                if(file2.isDirectory()){
                    refile(file2,file1);
                }else{
                        String name = file2.getName();
                        if(name.endsWith(".txt")){
                            String name1 = name.replace(".txt", ".java");
                            Reader reader = new FileReader(file2);
                            Writer writer = new FileWriter(file1+"\\"+name1);
                            char[] byt = new char[10];
                            int o = 0;
                            while((o=reader.read(byt))!=-1){
                                writer.write(byt,0,o);
                            }
                            System.out.println(file2.getName()+"复制成功");
                        }else{
                            Reader reader = new FileReader(file2);
                            Writer writer = new FileWriter(file1+"\\"+name);
                            char[] byt = new char[10];
                            int o = 0;
                            while((o=reader.read(byt))!=-1){
                                writer.write(byt,0,o);                  
                        }
                            System.out.println(file2.getName()+"复制成功");
                        }
                }
    
        }
        }
    }
    
    展开全文
  • 文件在resources目录下,是项目所需配置项 格式为:键名=值,当然这里=只是为了提高可读性,替换成别符号也可以! 读取代码 对文件的处理方式是文件的配置键名和值读取出来放入map集合中,然后通过map.get...

    文件格式

    该文件在resources目录下,是项目所需的配置项
    格式为:键名=值,当然这里=只是为了提高可读性,替换成别的符号也可以!

    在这里插入图片描述

    读取的代码

    对文件的处理方式是将该文件的配置键名和值读取出来放入map集合中,然后通过map.get(key)获取值

    import org.apache.commons.io.FileUtils;
    import org.apache.commons.lang.StringUtils;
    import org.apache.log4j.Logger;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.core.io.Resource;
    
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.*;
    
    /**
     * 读取resource目录下的配置文件(文件为文档类型的配置文件)
     */
    public class ResourcesUtil {
        public static Logger logger = Logger.getLogger(ResourcesUtil.class);
    
        public String configurationFileName;
    
        public File file;
    
        //读取配置文件中的键值对
        public Map<String, String> configurationMap = new HashMap<>();
    	//参数为配置文件的名称
        public ResourcesUtil(String configurationFileName) {
            this.configurationFileName = configurationFileName;
            try {
                Resource res = new ClassPathResource(configurationFileName);
                File f = res.getFile();
                if (!f.exists()) {
                    logger.error("预处理转换类初始化出错,找不见" + configurationFileName + "文件...");
                    return;
                }
                this.file = f;
                //存放配置文件中的每一行
                List<String> lines = FileUtils.readLines(f, "UTF-8");
    
                configurationMap = new HashMap<String, String>();
                for (String line : lines) {
                    if (StringUtils.isBlank(line)) {
                        continue; //读取的行为空值的场合
                    }
                    line = line.trim();
                    if (line.startsWith("#")) {
                        continue; //读取行以字符"#"开头,为注释的场合
                    }
                    //查询配置行中是否有"="符号
                    //如果你们项目的文件中不是以=相隔  这里就需要替换代码为你的符号
                    int equalFlagIndex = line.indexOf("=");
                    //提取"="之前的字符串作为key
                    String key = line.substring(0, equalFlagIndex).trim();
                    //提取"="之后的字符串作为value
                    String value = line.substring(equalFlagIndex + 1).trim();
                    configurationMap.put(key, value);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 读取配置文件configuration中的指定字段的值
         *
         * @param key ..
         * @return ..
         */
        public String getValue(String key) {
            return configurationMap.get(key);
        }
    
        public void  setValue(Map<String, String> valueMap) {
            BufferedWriter writer = null;
            Set<Map.Entry<String, String>> entries = valueMap.entrySet();
            List<String> list = new ArrayList<>(0);
            for (Map.Entry<String, String> map : entries) {
                list.add(map.getKey() + "=" + map.getValue());
            }
            try {
                writer = new BufferedWriter(new FileWriter(file));
                for (String s : list) {
                    writer.write(s);
                    writer.newLine();
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (writer != null) {
                    try {
                        writer.flush();
                        writer.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
    
                }
            }
        }
    	//main方法测试读取
        public static void main(String[] args) {
            ResourcesUtil resourcesUtil = new ResourcesUtil("defaultUserInfo.txt");
            String userName = resourcesUtil.getValue("userName");
            System.out.println(userName);
        }
    
    展开全文
  • 在上篇博文中写到,上传的文件会放在服务器的某个目录下,但是如果该目录下已经有了同名文件,会引起混乱,为了辨别每次上传的文件都不相同,可以在每个上传的文件名后面加上时间戳以作区别。但是还有一个问题就是...
  • 下面的python程序处理指定目录下以postfixes列表中结尾的文件匹配文件中tab替换成4个空格,且修改文件格式为unix格式。import oslineList = []postfixes = ['.py', '.java', '.c', '.cpp', '.h']def deal_...
  • JAVA生成word模板程序步骤1、 freemarker-2.3.13.jar复制到项目\WEB-INF\lib目录下2、 编辑模板文件(1) DOC文件另存为xml文件xml文件在eclipse环境下打开,右键选“源”→“格式”。此处注意xml文件属性是...
  • 对于java web项目,可以先在开发环境...所谓的部署到tomcate服务器其实就是项目的war包放在tomcate的工作目录下的。 注意替换文件的时候一定要先双击下载备份,如果直接覆盖没有备份的话,出现问题就很难恢复 ...
  • java 文件存储

    千次阅读 2018-07-15 14:16:56
    问题: 在每次更新Java版本时,都需要将文件目录做一次备份,不然直接打包好war包替换原来版本时可能会丢失文件(有时可能会直接删除原来版本目录然后在新版本放到tomcatwebapps目录)。 解决方案:...
  • Java环境变量配置PATH配置完该变量之后就可以在任意目录下执行java命令,如果要覆盖JDK版本,需要JDK版本添加在老版本左边,因为搜索顺序是从左向右。%JAVA_HOME%/bin/;%JAVA_HOME%/jre/binCLASSPATH从字面...
  • public class TestDLL{public TestDLL(String... filenames){// 取得src下的物理路径,String path = TestDLL.class.getResource("/...// 路径里的%20替换成空格,不然在src目录下会找不到dll文件path = path.rep...
  • 第三步:放到idea中一个目录下 这里已src目录为例 第四步:修改占位符 第五步:代码示例 package com.example.demo.util; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node;...
  • 这里对resources、profile标签的使用进行介绍resources 标签打包资源Maven中会按照标准目录结构,src/main/resources目录下的资源文件打包到jar或war中。但有时为了方便文件的组织管理,有些资源文件可能并不在...
  • 替换jar包中class文件并重新打包

    千次阅读 2020-04-16 14:57:24
    适用于无源码jar或涉及切换环境参数及不确定影响情况,减少对原jar修改 一定要备份,一定要备份,一定要备份 1.原jar包下载到本地目录 /Users/user/fsdownload/aa.jar 2.原jar包解压缩–原解压文件 /Users/...
  • 下面的python程序处理指定目录下以postfixes列表中结尾的文件匹配文件中tab替换成4个空格,且修改文件格式为unix格式。import oslineList = []postfixes = ['.py', '.java', '.c', '.cpp', '.h']def deal_...
  • Java 读取资源文件

    2014-07-05 23:56:33
    读取根目录下的文件: RoleService.class.getClassLoader().getResource("").getFile().replaceAll("%20", " ") + "/roleList.xml" -- %20替换为空格 读取同级目录下的文件: RoleService.class.getResource("")....
  • Java NIO文件管理:Files类常用方法

    千次阅读 2019-02-25 20:38:25
    有人说Path是用来替换File的,实际上Path只具备File的部分功能,Path只是用来管理文件路径的。但是Files和Path结合使用,可以更好...在大多数情况,Files中定义的方法委托给相关的文件系统提供程序(file syste...
  • 第一步就是World文档里面需要从数据库填充部分用占位符替换第二步:就是此文档保存为Xml格式第三步:其放在resource目录下,并选中此文件,右键点击properties属性,其编码格式设置为Utf-8(防止生成之后...
  • 默认情况下,我们打包Springboot工程时,会依赖包、配置文件、静态资源和模板一起打包到jar中,称之为fat jar。真是一个胖包子!...分离配置文件Springboot启动时,会优先使用同级config目录下的配置,如...
  • JavaClass文件加密专家通过分析Class文件的结构,Class二进制代码中耗时较多的部份抽出并替换为Native C代码, 并且使用1024位加密算法Class文件数据加密,任何Java反编译工具均不可能对加密后的文件进行破解...
  • 修改工程目录下的.project文件 普通工程下的该文件内容是: xxx org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature 替换成下面 ...
  • ls 列出该工作目录下的文件和文件夹 re 对工作目录下的文件夹名或文件名进行改名操作 man 对具体的命令的详细帮助文档 pwd 显示当前工作的目录 history 显示已经输入的历史命令 help 调取帮助文档命令 exit 退出当前...
  • 修改工程目录下的.project文件 普通工程下的该文件内容是: xxx org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature 替换成下面 Pro ...
  • 默认地,Flex Builder 会把生成 Flash 文件放到 EmployeeMgmt-Server 项目 web/EmployeeMgmt-Flex-debug 目录下。 一个 Flex Project 目录结构如下: 图 5. Flex 工程目录结构 用 Flex Builder 做出...
  • 使用手册一、准备好源程序(.class文件)...3. 加密工具会.class源文件直接替换成已经加密的文件,所以请事先做好程序备份。4. 加密文件最好不超过200个,否则系统运行可能出现问题。5. 不支持spring,请涉及...
  • 众所周知,Java编译后的Jar包和Class文件,可以轻而易举的使用反编译工具(如JD-GUI)进行反编译,拿到源码。...测试程序: (t_lib目录下的jar包为经过加密的jar包) java -agentlib:libClassHook -jar test.jar
  • 1 文件引入后不能同步问题 加上一个同步,就可以了 2 上传问题 ...在根目录下创建kindeditor/attach目录 并且 upload_json.jsp代码替换 //文件保存目录路径 //存放在\kindeditor\
  • Java面试题大全

    2019-01-24 17:15:44
    如何列出某个目录下的所有文件 如何列出某个目录下的所有子目录 判断一个文件或目录是否存在 如何读写文件 7.Java多态的实现(继承、重载、覆盖) 8.编码转换,怎样实现GB2312编码的字符串转换为ISO-8859-1...
  • 对于以下几题所使用的语言的要求: ... 编写一个程序,将指定目录及其所有子目录下的所有包含空格的文件改名(无需将目录改 名),改名的规则为将原文件名中的空格替换为下划线“_”。如果改名后的文件名出现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 437
精华内容 174
关键字:

java将目录下的文件替换

java 订阅