个人博客 地址: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替换文件中某一行文本的内容相关推荐

  1. java给文件添加水印_Java在PDF中添加水印(文本/图片水印)

    水印是一种十分常用的防伪手段,常用于各种文档.资料等.常见的水印,包括文字类型的水印.图片或logo类型的水印.以下Java示例,将分别使用insertTextWatermark(PdfPageBas ...

  2. java replace换行符_Java 替换字符串中的回车换行符的方法

    使用正则表达式进行替换: 代码片段: string documenttxt = entityutils.tostring(entity,"gbk");//获取数据 document ...

  3. java清空文件夹_java 删除文件夹中的所有内容而不删除文件夹本身的实例

    package com.xx; import java.io.File; public class Test { public static void main(String[] args) { St ...

  4. java底层 文件操作_JAVA的文件操作【转】

    11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...

  5. java new file会创建文件吗_Java高级——文件与I/O流

    简介 本文分为四个部分,首先是介绍File类,概括了一下概念.构造方法及常用方法等,其次是描述了面对对象的三大特征,再次是对抽象类进行了简单的概述,最后从特性.使用等等几个方面对接口进行了一定的描述. ...

  6. Java 文件操作 逐行替换文件内容,加快翻译效率

    昨天想看部奥斯卡老片,结果发现居然没有中文版. 为了更方便理解电影内容,下载了罗马尼亚语srt字幕. 但是,碍于水平有限,只能用谷歌翻译快速翻译完.在压制视频时,却发现时间戳由于谷歌翻译的影响.变得不 ...

  7. java 多种类型文件复制_java多种文件复制方式以及效率比较

    1.背景 java复制文件的方式其实有很多种,可以分为 传统的字节流读写复制FileInputStream,FileOutputStream,BufferedInputStream,BufferedO ...

  8. java poi修改word2007_java poi 替换word2007中的指定文本

    开头贴出参考文章地址: http://blog.sina.com.cn/s/blog_885585cb0101gnz7.html http://www.cnblogs.com/dreammyle/p/ ...

  9. java 批量重命名_Java实现文件批量重命名

    Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应 ...

最新文章

  1. 剑指offer:面试题29. 顺时针打印矩阵
  2. JAVA学习笔记(6)
  3. 设置Cocos2D屏幕横向或纵向的方法
  4. 理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换
  5. (转)字典树原理+实现
  6. linux实验简介,实验1 Linux简介和基本使用.doc
  7. Python装饰器几个有用又好玩的例子
  8. OC学习笔记四 数据类型
  9. 人大金仓数据库工程师培训实战教程(同步复制、读写分离、集群高可用)
  10. 螺杆式、离心式、活塞式冷水机组及品牌
  11. 如何运行计算机学报的LaTeX模板?
  12. 数论—乘法逆元—费马小定理
  13. 在工作中历练思考力,行动力,表达力
  14. for in在python中什么意思_Python for 循环中 in 关键字含义是什么?
  15. 数字游戏ABCD*E=DCBA-第11届蓝桥杯Scratch选拔赛真题精选
  16. 使用CSS实现间隔线|(竖线)
  17. 第4关:异常处理 - 华氏-摄氏温度换算
  18. Java图形用户界面设计音乐播放器
  19. 2021的最新操作系统知识梳理,建议收藏!
  20. HTML 四十六 HTML5 语义

热门文章

  1. 河南2021年高考成绩位次查询,河南高考成绩位次排名查询2020,河南高考一分一段表...
  2. TouchID 指纹登录
  3. redis实现高并发投票网站
  4. 服务器设置密码修改导致的后果
  5. [转]linux shell 正则表达式(BREs,EREs,PREs)差异比较
  6. ZOU YI BU
  7. 树莓派连接笔记本当外接显示屏使用
  8. 全国高等学校计算机等级考试大纲,全国高等学校计算机等级考试大纲.doc
  9. 华为模拟器小型网络组建
  10. 洛谷 P3354 [IOI2005]Riv 河流【树形dp】