文件6. 查找替换.txt文本文件中的内容
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文本文件中的内容的更多相关文章
- servlet操作本地文件汇总: 判断文件是否存在;文件重命名;文件复制; 获取文件属性信息,转成Json对象; 获取指定类型的文件; 查找替换.txt中的文本
package servlet; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; ...
- C++怎么读入非文本文件中的内容
C++怎么读入非文本文件中的内容 3条回答 #include <io.h> #include <windows.h> void main() { char* pFileName ...
- 替换excel模板中的内容并使用JavaMail发送邮件
由于在公司工作,常年出差,每天都要以日报的形式向公司汇报当天的工作内容.而日报的内容大体上就只有当天工作的主要内容时变化的,其余的都是不变 的. 而我的电脑刚打开excel有点卡,因此决定使用Java ...
- Flask-在浏览器中直接显示文本文件中的内容
目录结构: project├── info.json├── run.py└── static └── readme.txt # 直接返回static目录下的文件内容 @app.route( ...
- jinja2 中的 Template 批量替换json字符串中的内容
项目中用到elasticsearch,使用Json格式查询方式,一个查询语句中有好几个地方需要替换,且替换的值都相同.最开始把json转为字符串发方式,利用format函数处理,发现再转回json时无 ...
- Python操作txt文本文件
题目: 1.TXT文本文件中的内容为: url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:13760 ...
- sed处理大txt文件(1G) 比如替换某一串字符串,或者删除一行
1.将11.sql文件中"prompt"替换为"--prompt",然后保存为111.sql文件 sed -e "s,prompt,--prompt, ...
- sublime text3怎么批量查找替换文件夹中的字符
在编写代码的时候,往往有些代码是重复的,但是如果要改一处代码,其他的地方也要改.那么怎么批量修改呢?下面小编就以sublime text3为例来讲解一下sublime text3怎么批量查找替换文件夹 ...
- 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符
1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]] ...
随机推荐
- Docker构建一个node镜像
0. 设置国内docker镜像源 进入Settings->Daemon->Advanced,添加如下配置. { "registry-mirrors": [ " ...
- 使用C#创建Windows服务 并发布Windows 服务
一.开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NET版本:.NET Framework 4.0 目标平台:X86 二.创建Windows Servic ...
- poi 导入Excle
一,AOP 是什么 Apache POI 提供java 程序对Microsoft Office格式文档的读写功能操作 二,所需要的jar包 三,实现代码 1, 读取Excle 返回Workbook格式 ...
- 解决ubuntu无法使用root用户启动Google Chrome浏览器
1.找到Chrome的路径 # whereis google-chrome google-chrome: /usr/bin/google-chrome /usr/share/man/man1/goog ...
- linux命令-diff对比文件工具
diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...
- Spring教程笔记(3) Bean
Bean配置项 id class必须项 如果根据id来获取bean,要写id:如果根据类型来配置bean,只写class就可以. scope作用域 constructor arguments prop ...
- ZedBoard前期准备工作
1. 资源下载 内核:https://github.com/Xilinx/linux-xlnx/releases uboot:https://github.com/Xilinx/u-boot-xlnx ...
- 设置position(absolute,fixed)导致flex布局不生效
个人解决办法:将要设置display:flex的dom外面在套一个div,并且设置宽度,就可以了.
- 【还是回来了】博客搬家--https://cangbean.github.io
还是弄了个自己的地址:https://cangbean.github.io 想记录下,防止万一以后迁移不好弄 想练习markdown写作 折腾而已 以后不再博客园记录东西了,但是还是会回来看看的
- 第一课——git的简介和基本使用
windows中安装git: 1.安装Git 安装完,在命令行输入: $ git config --global user.name "Your Name" $ git confi ...