`
flylynne
  • 浏览: 373636 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java读取文件夹下所有文件并替换文件每一行中指定的字符串

    博客分类:
  • JAVA
 
阅读更多

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;

public class ReadFile {

 public static void main(String[] args) {
  String filePath = "D:/a/"; //给我你要读取的文件夹路径
  File outPath = new File("E:/b/"); //随便给一个输出文件夹的路径(不存在也可以)
  readFolder(filePath,outPath);
 }
 
 /**
  * 读取文件夹
  * @return
  */
 public static void readFolder(String filePath,File outPath){
  try {
   //读取指定文件夹下的所有文件
   File file = new File(filePath);
   if (!file.isDirectory()) {
    System.out.println("---------- 该文件不是一个目录文件 ----------");
   } else if (file.isDirectory()) {
    System.out.println("---------- 很好,这是一个目录文件夹 ----------");
    String[] filelist = file.list();
    for (int i = 0; i < filelist.length; i++) {
     File readfile = new File(filePath + "\\" + filelist[i]);
     //String path = readfile.getPath();//文件路径
     String absolutepath = readfile.getAbsolutePath();//文件的绝对路径
     String filename = readfile.getName();//读到的文件名
     readFile(absolutepath,filename,i,outPath);//调用 readFile 方法读取文件夹下所有文件
    }
    System.out.println("---------- 所有文件操作完毕 ----------");
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 
 /**
  * 读取文件夹下的文件
  * @return
  */
 public static void readFile(String absolutepath,String filename,int index,File outPath){
  try{
   BufferedReader bufReader = new BufferedReader(new InputStreamReader(new FileInputStream(absolutepath)));//数据流读取文件
   StringBuffer strBuffer = new StringBuffer();
   String empty = "";
   String tihuan = "";
   for (String temp = null; (temp = bufReader.readLine()) != null; temp = null) {
    if(temp.indexOf("/*") != -1 && temp.indexOf("*/") != -1){ //判断当前行是否存在想要替换掉的字符 -1表示存在
     tihuan = temp.substring(0, 9);//这里截取多长自己改
     temp = temp.replace(tihuan, empty);//替换为你想要的东东
    }
    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);//替换后输出的文件位置(切记这里的E:/ttt 在你的本地必须有这个文件夹)
   printWriter.write(strBuffer.toString().toCharArray());
   printWriter.flush();
   printWriter.close();
   System.out.println("第 " + (index+1) +" 个文件   "+ absolutepath +"  已成功输出到    " +outPath+"\\"+filename);
  }catch(Exception e){
   e.printStackTrace();
  }
 }
}

分享到:
评论

相关推荐

    java对文件夹、文件、TXT的操作

    在Java编程语言中,对文件、文件夹以及文本文件(如TXT)进行操作是常见的任务。这些操作包括创建、删除、重命名、读取、写入以及遍历目录结构。以下将详细介绍Java中如何实现这些功能。 1. **创建文件与文件夹** ...

    合并指定文件夹下的文本文件源码

    将所有文本文件的内容合并到一个字符串变量中,每次读取一个文件后,将新内容追加到现有字符串。 4. **创建新文件并写入**: 当所有文件都读取完成后,可以使用`open()`函数以写入模式创建一个新的文本文件(在D...

    java关于文件的操作

    对于数据的查询和更新,我们需要解析每一行的内容,可能涉及到字符串的分割、比较、替换等操作。例如,如果每行存储一个键值对(key-value),我们可以使用`split()`方法来分离键和值: ```java String[] parts = ...

    批量查找文件内容替换

    例如,`grep -rl "search_string" /path/to/directory | xargs sed -i 's/search_string/replacement/g'` 这个命令组合能全局查找并替换目录下所有文件中的内容。 5. **注意事项**: - 在进行批量替换时,务必先...

    一个校验文件里是否含有非英文字符代码

    例如,在Java中,我们可以读取文件内容,然后遍历每个字符,判断其Unicode值是否在英文字符的范围内。以下是一个简单的Java代码示例: ```java import java.io.BufferedReader; import java.io.FileReader; import ...

    Java使用poi读取Excel文件例子

    这段代码会打开指定路径的Excel文件,读取第一个工作表的所有行和列,并打印出每个单元格的值。注意,`getRowNum()`返回的是非空行的索引,`getLastRowNum()`则返回的是最后一个非空行的索引加1,所以要在循环中加上...

    ACCP5.0 S1java第二章作业答案

    5. **字符串(String)**:Java中的String类是一个特殊的类,用于处理文本。学生需要掌握字符串的创建、比较、截取、拼接等操作。 6. **异常处理**:Java通过try-catch-finally结构进行异常处理,学生需要了解不同...

    Java Poi流 根据Word模板插入相应的文本、表格和图片,生成新的Word报告

    占位符通常是特定格式的字符串,如`{{text}}`,在程序中会被实际值所替换。 2. **插入文本**: - 在找到占位符后,可以使用`XWPFRun`的`setText()`方法来插入文本。如果需要设置字体、颜色、大小等样式,可以通过`...

    正则统计代码中空行、注释行、代码行纯JAVA

    首先,我们需要了解Java中处理字符串的主要工具:`java.util.regex`包。这个包提供了`Pattern`和`Matcher`类,它们是正则表达式的核心。`Pattern`类用于编译正则表达式,`Matcher`类则用来对目标字符串进行匹配操作...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例081 去掉字符串中的所有空格 101 实例082 汉字与区位码的转换 102 第5章 面向对象技术应用 103 5.1 Java中类的定义 104 实例083 自定义图书类 104 实例084 温度单位转换工具 105 实例085 域的默认初始化值 106 ...

    JAVA上百实例源码以及开源项目源代码

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    常用工具类方法1

    - `write`:将字符串写入指定文件。 - `listFiles`:根据过滤器列举目录下所有文件。 - `copyDirectory`:复制整个目录结构。 - `forceDelete`:强制删除文件,即使文件被锁定。 5. **org.apache....

    大工软院大二姜国海小学期-第二次作业&huffman;.zip

    3. 编写程序求出1万以内的所有素数,并将这些素数输出到一个文本文件中,每行文本只包含一个素数数据。 该文本文件内容要求可以用记事本程序来查看。 4. 编写程序求出1万以内的所有素数,然后再判断这些素数中...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    9.2.7 替换字符串中的内容 226 9.2.8 String对象——磐石刻字 227 9.3 String类的最佳拍档——StringBuffer类 227 9.3.1 StringBuffer:专业操纵字符 228 9.3.2 String和StringBuffer一个都不能少 229 9.4 最...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    9.2.7 替换字符串中的内容 226 9.2.8 String对象——磐石刻字 227 9.3 String类的最佳拍档——StringBuffer类 227 9.3.1 StringBuffer:专业操纵字符 228 9.3.2 String和StringBuffer一个都不能少 229 9.4 最...

    android ant 多渠道批量打包Demo

    5. **替换渠道标识的脚本**:Ant脚本中会有一个任务读取channels.txt,然后遍历文件中的每个渠道名,对APK进行签名并替换字符串资源。 6. **源代码和资源文件**:包括Android项目的Java源代码、资源文件(如布局、...

Global site tag (gtag.js) - Google Analytics