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中如何实现这些功能。 1. **创建文件与文件夹** ...
将所有文本文件的内容合并到一个字符串变量中,每次读取一个文件后,将新内容追加到现有字符串。 4. **创建新文件并写入**: 当所有文件都读取完成后,可以使用`open()`函数以写入模式创建一个新的文本文件(在D...
对于数据的查询和更新,我们需要解析每一行的内容,可能涉及到字符串的分割、比较、替换等操作。例如,如果每行存储一个键值对(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 ...
这段代码会打开指定路径的Excel文件,读取第一个工作表的所有行和列,并打印出每个单元格的值。注意,`getRowNum()`返回的是非空行的索引,`getLastRowNum()`则返回的是最后一个非空行的索引加1,所以要在循环中加上...
5. **字符串(String)**:Java中的String类是一个特殊的类,用于处理文本。学生需要掌握字符串的创建、比较、截取、拼接等操作。 6. **异常处理**:Java通过try-catch-finally结构进行异常处理,学生需要了解不同...
占位符通常是特定格式的字符串,如`{{text}}`,在程序中会被实际值所替换。 2. **插入文本**: - 在找到占位符后,可以使用`XWPFRun`的`setText()`方法来插入文本。如果需要设置字体、颜色、大小等样式,可以通过`...
首先,我们需要了解Java中处理字符串的主要工具:`java.util.regex`包。这个包提供了`Pattern`和`Matcher`类,它们是正则表达式的核心。`Pattern`类用于编译正则表达式,`Matcher`类则用来对目标字符串进行匹配操作...
实例081 去掉字符串中的所有空格 101 实例082 汉字与区位码的转换 102 第5章 面向对象技术应用 103 5.1 Java中类的定义 104 实例083 自定义图书类 104 实例084 温度单位转换工具 105 实例085 域的默认初始化值 106 ...
- `write`:将字符串写入指定文件。 - `listFiles`:根据过滤器列举目录下所有文件。 - `copyDirectory`:复制整个目录结构。 - `forceDelete`:强制删除文件,即使文件被锁定。 5. **org.apache....
3. 编写程序求出1万以内的所有素数,并将这些素数输出到一个文本文件中,每行文本只包含一个素数数据。 该文本文件内容要求可以用记事本程序来查看。 4. 编写程序求出1万以内的所有素数,然后再判断这些素数中...
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 最...
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 最...
5. **替换渠道标识的脚本**:Ant脚本中会有一个任务读取channels.txt,然后遍历文件中的每个渠道名,对APK进行签名并替换字符串资源。 6. **源代码和资源文件**:包括Android项目的Java源代码、资源文件(如布局、...