`
isiqi
  • 浏览: 16702088 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Java编程琐事(11)——文件的读取、替换和保存

阅读更多

实例程序:

package com.solid.fileoper;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.util.ArrayList;

import java.util.List;

/**

* 对某个目录下的html文件进行遍历,然后替换html文件中的源代码,然后保存修改之后的文件。

* @author solidwang

*

*/

public class FileReplace {

private String sourceStr1 = "/hqapp/tcm/3/attachments/paper";

private String replaceStr1 = "www.hq.unicom.local/tcm_unicom/tcm_unicom/3/attachments/paper";

private String sourceStr2 = "http://www.unicom.local/tcm/3/ewebeditor/uploadfile";

private String replaceStr2 = "http://www.unicom.local/tcm_unicom/3/ewebeditor/uploadfile";

private String sourceStr3 = "http://www.unicom.local/tcm/ewebeditor/uploadfile";

private String replaceStr3 = "http://www.unicom.local/tcm_unicom/3/ewebeditor/uploadfile";

/**

* 修改目录下的.html文件

* @param filePath 读取文件路径

* @param prefix 文件前缀

* @param savePath 文件保存路径

*/

public void modifyFileInDirectory(String filePath, String savePath, String prefix) {

List list = readFileInDirectory(filePath, prefix);

try {

for(int i=0; i<list.size(); i++) {

readFile(filePath + list.get(i), savePath + list.get(i));

System.out.println("读取了第" + (i+1) + "个文件,文件路径:" + filePath + list.get(i));

}

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 读取文件并替换其中的路径,然后保存文件

* @param filePath 读取文件路径

* @param savePath 保存文件路径

*/

public void readFile(String filePath, String savePath) {

BufferedReader br = null;

BufferedWriter bw = null;

String content = "";

try {

br = new BufferedReader(new FileReader(filePath));

bw = new BufferedWriter(new FileWriter(savePath));

String line;

while((line = br.readLine()) != null && (line != "")) {

content = line + br.readLine() + "\n";

bw.write(content.replaceAll(sourceStr1, replaceStr1).replaceAll(sourceStr2, replaceStr2).replaceAll(sourceStr3, replaceStr3).replaceAll("null", ""));

}

bw.flush();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if(br != null) br.close();

if(bw != null) bw.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

/**

* 遍历某目录下的所有.html文件

* @param filePath

* @param prefix

* @return html文件名数组

*/

public List readFileInDirectory(String filePath, String prefix) {

File fileDir = new File(filePath);

File[] files = fileDir.listFiles();

List list = new ArrayList();

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

if(files[i].getName().startsWith("preview")) {

list.add(files[i].getName());

}

}

return list;

}

/**

* 测试方法

*/

public static void main(String[] args) {

FileReplace readFile = new FileReplace();

readFile.modifyFileInDirectory("D:/backup/中国联通V1.0/3/papers/", "D:/test/3/papers/", ".html");

}

}

分享到:
评论

相关推荐

    随时记录自己的每一天(java记事本)

    4. `FileHandler.java`: 文件操作类,负责与磁盘上的数据交互,可能实现了序列化和反序列化来保存和加载记录。 5. `UserInput.java`: 处理用户输入的类,负责从控制台获取输入并转化为内部数据结构。 6. `Resources`...

    JAVA万能日历记事本

    【JAVA万能日历记事本】是一款基于Java编程语言开发的应用程序,它结合了日历功能和记事本的特点,旨在提供一个高效、实用的个人信息管理工具。这款软件允许用户在日历视图中记录并管理日常事务,无论是工作计划、待...

    java写的的个人日记系统

    在这个“Java写的个人日记系统”中,开发者利用Java的强大功能创建了一个简单但实用的日记应用程序,该程序可在控制台中运行,为用户提供记录日常生活琐事的便利。 1. **基础架构** - **Java Standard Edition ...

    javaLauncher源码-Doughnut:我第一次正式尝试编程(Java-JDK8.0-)。这是一个基本但完全可自定义的琐事游戏。它记录

    2. **理解模块结构**:查看项目目录结构,了解各个类和文件的作用。 3. **深入游戏逻辑**:定位游戏的核心类,理解游戏的运行机制。 4. **研究事件处理**:查找事件监听和处理的代码,了解用户交互的实现。 5. **...

    trivia-game:琐事游戏,记录点数和生活-源码

    - **文件操作**:游戏进度(分数、生命值)可能被保存在本地文件中,Java的File和Scanner/PrintWriter类可以实现这一功能。 - **序列化**:为了持久化对象状态,可能会使用Java的序列化机制。 4. **游戏逻辑**: ...

    Java环境变量一键配置软件合集+ApkIDE少月版

    在计算机上安装Java开发工具包(JDK)后,通常需要手动设置系统环境变量,如`JAVA_HOME`、`PATH`和`CLASSPATH`,以便操作系统能够正确识别和执行Java相关程序。这个合集简化了这一过程,使得不熟悉技术的小白用户也...

    hex文件转bin文件小程序

    HEX文件通常用于存储编程中的数据或者调试信息,而BIN文件则通常代表纯二进制数据,可以直接被硬件系统执行或读取。在某些场景下,如嵌入式系统开发、固件更新或编程项目中,可能需要将HEX文件转换为BIN文件,以便更...

    Android源码——备忘录源码.zip

    在Android平台上,开发一款备忘录应用是一种常见的实践,它能帮助用户记录日常生活中的琐事、想法或工作事项。这份“Android源码——备忘录源码.zip”压缩包很可能包含了一个完整的备忘录应用的源代码,对于学习...

    Java 打包jar生成exe(极限精简完全攻略)

    大家都知道,通常Java程序需要JVM与OS互动才能运行于本地环境之上,所谓鱼与熊掌不可兼得,这样做虽然极大降低了程序的移植难度,却同时增加了程序的环境要求,因为无论你用什么方法,总需弄个虚拟机才能让你的Java...

    一个java程序员的个人博客,记录博主的学习,生活中的一些有趣的事,并分享Java方面技术和源码。.zip

    在这个名为"一个java程序员的个人博客.zip"的压缩包中,我们可以期待找到一个Java程序员的个人博客内容,其中涵盖了他在学习过程中的体验、生活琐事的分享,以及关于Java技术的专业知识和源码分析。虽然没有具体的...

    桌面日历秀——绿色中文版

    "桌面日历秀——绿色中文版"是一款专为中国用户设计的桌面日历应用程序,它以其简洁易用的界面和丰富的功能赢得了用户的喜爱。这款软件的特点是"绿色",这意味着它无需安装,用户只需下载并解压缩文件即可直接使用,...

    关于java项目实习报告

    这个项目涉及到用户登录注册、新闻管理(类别添加和发布)、文件上传等功能,覆盖了Web应用开发的多个方面。 5. **技术整合**:学生逐步学习并整合了Hibernate、Spring和Struts,形成了SSH集成,这使得他们能够开发...

    src_JAVA源码_

    可进行文件的打开、保存、另存为和关闭;可进行简单的复制、粘贴、剪切。这是一个简单的文字编辑器,日常生活的大小琐事记录上面,工作行程安排,可当做笔记本使用。界面为纯白色。关键字:java记事本,记事本类,...

    NiFi界面上,每次更新了nar包后,总是会涉及到手动changeVersion的操作: 所以开发一个自动的。

    3. **文件替换**:一旦有了新版本,`ChangeNiFiNarVersion.java`将修改`pom.xml`文件中的版本信息。这个过程需要确保不破坏XML文件的结构,并且要备份原始文件以防万一。 4. **版本校验**:在更新版本后,程序可能...

    七个好习惯——意愿强化培训.ppt

    【七个好习惯——意愿强化培训】是一门针对个人发展和提升效率的技术培训课程,旨在帮助学员形成积极的习惯,从而在工作、生活、学习等各个方面取得更好的成果。这七个习惯不仅适用于个人,同样适用于团队和组织,是...

    java2007【搜狗文档翻译_译文_英译中】1

    【Java与Twitter的关联】 Java在本文中并不是作为编程语言被直接...微博客和社交网络分析的研究为理解用户行为、社区形成和信息传播提供了新的视角,而这些研究背后的工具和技术往往离不开Java这样的编程语言支持。

    春林文件批量改名系统 6.5

    字符串替换模式则允许用户快速统一文件名中的特定字符串,方便文件的归类和查找;添加前缀或后缀功能,则能够帮助用户在文件名中快速添加必要的标识,以便于区分不同的文件类型或版本;而改变文件扩展名模式,则适用...

    VB写的便笺小程序

    例如,可能存在一个Note类,封装了便签的文本、创建日期等属性,以及保存和加载的方法。此外,主程序可能使用Form类来管理界面,用Module来处理通用功能,如文件操作。 在实际应用中,VB6便签小程序可能采用了文本...

    时间管理——K篇.ppt

    本资料《时间管理——K篇.ppt》深入探讨了时间管理的重要性、概念、原则以及实用方法。 首先,时间的价值是无法估量的。时间既是最长的,也是最短的,对等待和享乐的人来说,时间的感受截然不同。时间的流逝是无情...

    成功项目经理系列教程——个人时间管理.ppt

    在实际操作中,时间管理常见的一些问题包括:记忆力不佳导致重复工作,未能达成每日设定的目标,过多的时间消耗在琐事上,缺乏系统性的行动计划,找不到重要文件,以及物品乱放导致的寻找时间浪费。为了解决这些问题...

Global site tag (gtag.js) - Google Analytics