servlet实现对文本文件的查找替换

.jsp界面

 <form>
<table>
<tr>
<td>选择文本文件:</td>
<td><input type="text" name="filesPath" /></td>
</tr>
<tr>
<td>搜索文本:</td>
<td><input type="text" name="content" /></td>
</tr>
<tr>
<td>替换文本:</td>
<td><input type="text" name="replace" /></td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="提交"/>
</td>
</tr>
</table>
</form>

.js代码

 $().ready(function(){
$("input[type='button']").click(function(){
var filesPath=$("input[name='filesPath'").val();
var con=$("input[name='content']").val();
var replace=$("input[name='replace']").val();
var xmlhttp=getXmlhttp();
var data={"filesPath":filesPath,"content":con,"replace":replace};
xmlhttp.onreadystatechange=function() {
if(xmlhttp.readyState==4 && xmlhttp.status==200) {
alert("转换完成!");
}
};
xmlhttp.open("POST","showFile","true");
xmlhttp.setRequestHeader("Content-Type","application/json");
xmlhttp.send(JSON.stringify(data));
});
});
//获取xmlHttp
function getXmlhttp() {
var xmlhttp;
if(window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest;
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlhttp;
}

servlet层ShowSomeType.java

 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
JSONObject data=getJsonObject(req);
String filesPath=data.getString("filesPath");
String content=data.getString("content");
String replace=data.getString("replace");
boolean seccess=false;
if(filesPath!=null && content!=null && replace!=null)
seccess=replaceFileStr(filesPath,content,replace);
System.out.println(seccess);
} private boolean replaceFileStr(String path, String str, String con) {
try {
FileReader fr=new FileReader(path);          //创建文件输入流
BufferedReader br=new BufferedReader(fr);      
char[] data=new char[1024];               //创建缓冲字符数组
int rn=0;
StringBuilder sb=new StringBuilder();         //创建字符串构件器
while((rn=fr.read(data))>0) {              //读取文件内容到字符串构件器
String content=String.valueOf(data,0,rn);     
sb.append(content);
}
fr.close();
String contentStr=sb.toString().replace(str,con);  //从构件器中生成字符串,并替换搜索文本
FileWriter font=new FileWriter(path);         //创建文件输出流
font.write(contentStr.toCharArray());         //把替换完成的字符串写入文件内
font.close();                       //关闭输出流
return true;
} catch (FileNotFoundException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
} private JSONObject getJsonObject(HttpServletRequest req) {
StringBuffer json=new StringBuffer();
String lineString=null;
BufferedReader reader;
JSONObject data=null;
try {
reader = req.getReader();
while((lineString=reader.readLine())!=null) {
json.append(lineString);
}
data=JSONObject.fromObject(json.toString());
} catch (IOException e) {
e.printStackTrace();
}
return data;
}

文件6. 查找替换.txt文本文件中的内容的更多相关文章

  1. servlet操作本地文件汇总: 判断文件是否存在;文件重命名;文件复制; 获取文件属性信息,转成Json对象; 获取指定类型的文件; 查找替换.txt中的文本

    package servlet; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; ...

  2. C++怎么读入非文本文件中的内容

    C++怎么读入非文本文件中的内容 3条回答 #include <io.h> #include <windows.h> void main() { char* pFileName ...

  3. 替换excel模板中的内容并使用JavaMail发送邮件

    由于在公司工作,常年出差,每天都要以日报的形式向公司汇报当天的工作内容.而日报的内容大体上就只有当天工作的主要内容时变化的,其余的都是不变 的. 而我的电脑刚打开excel有点卡,因此决定使用Java ...

  4. Flask-在浏览器中直接显示文本文件中的内容

    目录结构: project├── info.json├── run.py└── static       └── readme.txt # 直接返回static目录下的文件内容 @app.route( ...

  5. jinja2 中的 Template 批量替换json字符串中的内容

    项目中用到elasticsearch,使用Json格式查询方式,一个查询语句中有好几个地方需要替换,且替换的值都相同.最开始把json转为字符串发方式,利用format函数处理,发现再转回json时无 ...

  6. Python操作txt文本文件

    题目: 1.TXT文本文件中的内容为: url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:13760 ...

  7. sed处理大txt文件(1G) 比如替换某一串字符串,或者删除一行

    1.将11.sql文件中"prompt"替换为"--prompt",然后保存为111.sql文件 sed -e "s,prompt,--prompt, ...

  8. sublime text3怎么批量查找替换文件夹中的字符

    在编写代码的时候,往往有些代码是重复的,但是如果要改一处代码,其他的地方也要改.那么怎么批量修改呢?下面小编就以sublime text3为例来讲解一下sublime text3怎么批量查找替换文件夹 ...

  9. 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

    1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]] ...

随机推荐

  1. hadoop配置项笔记 - streaming

    stream.map.input.ignoreKey 作用:是否忽略key,只传递值. 默认值:false 我的设置:按需要更改 stream.map.input.field.separator st ...

  2. 通过java代码往mysql数据库中写入日期相关数据少13个小时

    通过show variables like '%time_zone%'; 查看时区: CST 时区 名为 CST 的时区是一个很混乱的时区,有四种含义: 美国中部时间 Central Standard ...

  3. ACM-ICPC2018南京赛区 Mediocre String Problem

    Mediocre String Problem 题解: 很容易想到将第一个串反过来,然后对于s串的每个位置可以求出t的前缀和它匹配了多少个(EXKMP 或者 二分+hash). 然后剩下的就是要处理以 ...

  4. 2018-2019-2 网络对抗技术 20165303 Exp6 信息搜集与漏洞扫描

    实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点(以自己主机为目标) (4)漏洞扫描:会扫,会看报告, ...

  5. 【调试】Idea如何远程debug之tomcat war包启动

    一.修改tomcat配置并启动 1.修改tomcat bin目录下的startup.sh配置,定位startup.sh最后一行,使用jpda  start启动 即将exec "$PRGDIR ...

  6. 交换机telnet配置

    新开箱交换机开机配置Telnet需要三个步骤: 1.开启telnet是能:系统视图模式下输入命令: telnet server enable #开启telnet功能# 2.Telnet创建账号:aaa ...

  7. spring cloud(四)熔断器Hystrix

    熔断器 雪崩效应 在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应.服务雪崩效应是一种因“服务提供者”的不可用导致“服务 ...

  8. tortoisegit里的cleanup坑

    tortoisegit的clean up功能(以下红框部分)真的不要去点啊,你所有被ignore(忽略)的本地文件会被全部删除,而且是无法恢复的,因为远程仓库里根本就没有这些文件. 血的教训啊,本以为 ...

  9. 崔庆才Python3网络爬虫开发实战电子版书籍分享

    资料下载地址: 链接:https://pan.baidu.com/s/1WV-_XHZvYIedsC1GJ1hOtw 提取码:4o94 <崔庆才Python3网络爬虫开发实战>高清中文版P ...

  10. Tensorflow选择性初始化图中的变量

    import tensorflow as tf def initialize_uninitialized(sess): global_vars = tf.global_variables() is_n ...