java修改文件一行_java替换文件中某一行文本的内容
个人博客 地址:http://www.wenhaofan.com/article/20180913160442
代码如下package com.wenhaofan.common.kit;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import com.jfinal.kit.PropKit;
/**
* @author 作者:范文皓
* @createDate 创建时间:2018年9月13日 下午3:59:07
*/
public class PropertyKit {
public static void main(String[] args) {
String path=FileKit.class.getResource("/blog_config.txt").getPath() ;
path=path.substring(1, path.length());
replace(path,"theme","newTheme");
String theme=PropKit.use("blog_config.txt").get("theme");
System.out.println(theme);
}
public static void replace(String path,String key,String newValue) {
String temp = "";
try {
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
StringBuffer buf = new StringBuffer();
// 保存该行前面的内容
while ( (temp = br.readLine()) != null) {
boolean isMath=StrKit.filterNull(temp).split("=")[0].equals(key);
if(isMath){
buf = buf.append(key+"="+newValue);
}else{
buf = buf.append(temp);
}
buf = buf.append(System.getProperty("line.separator"));
}
br.close();
FileOutputStream fos = new FileOutputStream(file);
PrintWriter pw = new PrintWriter(fos);
pw.write(buf.toString().toCharArray());
pw.flush();
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
实现思路
按行读取指定文本中的内容,将内容添加进StringBuffer中,
如果当前行号为指定行号则添加替换的内容,否则添加原内容
然后将StringBuffer中的内容覆盖写入文件
java修改文件一行_java替换文件中某一行文本的内容相关推荐
- java给文件添加水印_Java在PDF中添加水印(文本/图片水印)
水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...
- java replace换行符_Java 替换字符串中的回车换行符的方法
使用正则表达式进行替换: 代码片段: string documenttxt = entityutils.tostring(entity,"gbk");//获取数据 document ...
- java清空文件夹_java 删除文件夹中的所有内容而不删除文件夹本身的实例
package com.xx; import java.io.File; public class Test { public static void main(String[] args) { St ...
- java底层 文件操作_JAVA的文件操作【转】
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...
- java new file会创建文件吗_Java高级——文件与I/O流
简介 本文分为四个部分,首先是介绍File类,概括了一下概念.构造方法及常用方法等,其次是描述了面对对象的三大特征,再次是对抽象类进行了简单的概述,最后从特性.使用等等几个方面对接口进行了一定的描述. ...
- Java 文件操作 逐行替换文件内容,加快翻译效率
昨天想看部奥斯卡老片,结果发现居然没有中文版. 为了更方便理解电影内容,下载了罗马尼亚语srt字幕. 但是,碍于水平有限,只能用谷歌翻译快速翻译完.在压制视频时,却发现时间戳由于谷歌翻译的影响.变得不 ...
- java 多种类型文件复制_java多种文件复制方式以及效率比较
1.背景 java复制文件的方式其实有很多种,可以分为 传统的字节流读写复制FileInputStream,FileOutputStream,BufferedInputStream,BufferedO ...
- java poi修改word2007_java poi 替换word2007中的指定文本
开头贴出参考文章地址: http://blog.sina.com.cn/s/blog_885585cb0101gnz7.html http://www.cnblogs.com/dreammyle/p/ ...
- java 批量重命名_Java实现文件批量重命名
Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应 ...
最新文章
- 剑指offer:面试题29. 顺时针打印矩阵
- JAVA学习笔记(6)
- 设置Cocos2D屏幕横向或纵向的方法
- 理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换
- (转)字典树原理+实现
- linux实验简介,实验1 Linux简介和基本使用.doc
- Python装饰器几个有用又好玩的例子
- OC学习笔记四 数据类型
- 人大金仓数据库工程师培训实战教程(同步复制、读写分离、集群高可用)
- 螺杆式、离心式、活塞式冷水机组及品牌
- 如何运行计算机学报的LaTeX模板?
- 数论—乘法逆元—费马小定理
- 在工作中历练思考力,行动力,表达力
- for in在python中什么意思_Python for 循环中 in 关键字含义是什么?
- 数字游戏ABCD*E=DCBA-第11届蓝桥杯Scratch选拔赛真题精选
- 使用CSS实现间隔线|(竖线)
- 第4关:异常处理 - 华氏-摄氏温度换算
- Java图形用户界面设计音乐播放器
- 2021的最新操作系统知识梳理,建议收藏!
- HTML 四十六 HTML5 语义
热门文章
- 河南2021年高考成绩位次查询,河南高考成绩位次排名查询2020,河南高考一分一段表...
- TouchID 指纹登录
- redis实现高并发投票网站
- 服务器设置密码修改导致的后果
- [转]linux shell 正则表达式(BREs,EREs,PREs)差异比较
- ZOU YI BU
- 树莓派连接笔记本当外接显示屏使用
- 全国高等学校计算机等级考试大纲,全国高等学校计算机等级考试大纲.doc
- 华为模拟器小型网络组建
- 洛谷 P3354 [IOI2005]Riv 河流【树形dp】