`
风流情不留
  • 浏览: 16893 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

java 修改文件的多行内容

 
阅读更多

1、将文件内容一行一行的读出来 
2、在每读一行的时候,判断是否以a或b开始,如果是则进行处理,然后写到缓冲对象。如果不是则直接写入缓冲对象中 
3、将缓冲对象中的内容回写到文件中 

 

  1. import java.io.BufferedReader;  
  2. import java.io.BufferedWriter;  
  3. import java.io.FileReader;  
  4. import java.io.FileWriter;  
  5. import java.io.IOException;  
  6.   
  7. /** 
  8.  * 修改文件 
  9.  */  
  10. public class FileModify {  
  11.   
  12.     /** 
  13.      * 读取文件内容 
  14.      *  
  15.      * @param filePath 
  16.      * @return 
  17.      */  
  18.     public String read(String filePath) {  
  19.         BufferedReader br = null;  
  20.         String line = null;  
  21.         StringBuffer buf = new StringBuffer();  
  22.           
  23.         try {  
  24.             // 根据文件路径创建缓冲输入流  
  25.             br = new BufferedReader(new FileReader(filePath));  
  26.               
  27.             // 循环读取文件的每一行, 对需要修改的行进行修改, 放入缓冲对象中  
  28.             while ((line = br.readLine()) != null) {  
  29.                 // 此处根据实际需要修改某些行的内容  
  30.                 if (line.startsWith("a")) {  
  31.                     buf.append("start with a").append("\n");  
  32.                 }   
  33.                 // 如果不用修改, 则按原来的内容回写  
  34.                 else {  
  35.                     buf.append(line).append("\n");  
  36.                 }
  37.             }  
  38.         } catch (Exception e) {  
  39.             e.printStackTrace();  
  40.         } finally {  
  41.             // 关闭流  
  42.             if (br != null) {  
  43.                 try {  
  44.                     br.close();  
  45.                 } catch (IOException e) {  
  46.                     br = null;  
  47.                 }  
  48.             }  
  49.         }  
  50.           
  51.         return buf.toString();  
  52.     }  
  53.       
  54.     /** 
  55.      * 将内容回写到文件中 
  56.      *  
  57.      * @param filePath 
  58.      * @param content 
  59.      */  
  60.     public void write(String filePath, String content) {  
  61.         BufferedWriter bw = null;  
  62.           
  63.         try {  
  64.             // 根据文件路径创建缓冲输出流  
  65.             bw = new BufferedWriter(new FileWriter(filePath));  
  66.             // 将内容写入文件中  
  67.             bw.write(content);  
  68.         } catch (Exception e) {  
  69.             e.printStackTrace();  
  70.         } finally {  
  71.             // 关闭流  
  72.             if (bw != null) {  
  73.                 try {  
  74.                     bw.close();  
  75.                 } catch (IOException e) {  
  76.                     bw = null;  
  77.                 }  
  78.             }  
  79.         }  
  80.     }  
  81.       
  82.     /** 
  83.      * 主方法 
  84.      */  
  85.     public static void main(String[] args) {  
  86.         String filePath = "C:/file.txt"// 文件路径  
  87.         FileModify obj = new FileModify();  
  88.         obj.write(filePath, obj.read(filePath)); // 读取修改文件  
  89.     }  
  90.   
  91. }  
分享到:
评论

相关推荐

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-022-Java语言概述-第一个程序-对源码的修改.avi 北京动力节点-Java编程零基础教程-023-Java语言概述-第一个程序-易犯的错误.avi 北京动力节点-Java编程零基础教程-024-Java语言...

    PilotEdit支持超过400G的文件编辑

     >当文件内容改变时文件比较窗口自动更新比较结果  >在文件比较窗口中查找/替换  >查找上一个/下一个不同的文本块  >将所有相同/不同的行拷贝到剪贴板。通过这个功能,我们可以很方便地找出第一个文件中存在...

    Java版俄罗斯方块小游戏源码

    增加保存配置信息到文件的功能,声音设置、显示设置、关卡选择等配置信息在修改后将会保存在jar包同级目录下(以jar相同的文件名+.cfg后缀保存) 2010-10-05 【Java版俄罗斯方块】 这个程序是用Java开发的,需要...

    Matrix-Calculation:一个 Java 程序,用于对从文件中读取的矩阵执行基本操作。 CS213高级编程-Lab01

    matrices.txt 文件:将 GetMatrices.java 中第 32 行的路径更改为该文件放置在 matrices.txt 包含矩阵的当前路径。 此文件具有以下格式,如果修改此文件,则应遵循此格式。 读取时忽略此文件的第一行。 第一行之后...

    intellij idea使用.docx

    相关目录介绍、构建第一个普通java项目、对普通java项目打包、主题外观设置、设置鼠标滑轮及字体大小、设置鼠标悬浮提示、idea自动导入包功能、设置显示代码行号和方法间的分隔符、设置忽略大小写提示、设置文件多行...

    PilotEdit Lite v12.7.0.zip

    此外,软件还支持文件加密、十六进制编辑、列模式、回行显示、正则表达式、多行查找和替换、代码折叠、关键字高亮显示、大文件排序、删除重复、执行自定义脚本自动修改文件等等。需要的朋友快来下载吧! PilotEdit...

    功能超级强悍的文本编辑器 PilotEdit 14.3.0 + x64 中文多语免费版.zip

    加密,十六进制编辑,列模式,回行显示,正则表达式,多行查找和替换,代码折叠,关键字高亮显示,编辑400GB的大文件,比较100GB的大文件,对超过1G的大文件排序,删除重复,执行自定义脚本自动修改文件。...

    淘客必备,超级批量修改工具,批量修改pid代码等

    超级批量文本替换(UltraReplace) 版本: 5.0 授权方式:免费软件 功能说明: 文本替换的利器,批量文本替换的不二之选站长必备,挂马网页杀手,支持所有纯ANSI文件支持GBK/Unicode/UTF8编码的htm、html、asp、java、 ...

    超级批量文本替换器文本替换的利器

    批量文本替换的不二之选,站长必备,挂马网页杀手,支持所有纯ANSI文件,支持GBK/Unicode/UTF8编码的htm、html、asp、java、php等文件,可自定义所支持的文件类型,支持16进制替换,支持单行和多行以及段落替换,...

    exprotfiles:自用的一个将项目中的文件导出到指定目录的小工具

    也可以在UI界面里修改2、加载导出文件列表需要一个Txt文件3、Txt文件的格式为:E:\studyspace\workspace\exprotfiles\src\cc\csli\FileUtil.javaE:\studyspace\workspace\exprotfiles\src\cc\csli\PackViewP.java4、...

    Java 选修课程系统源代码,Eclipse+Mysql开发

     2、在“学生管理”模块中,添加了 多行删除 的功能  3、添加了mid格式的登陆背景音乐  4、在 “课程添加”模块中 添加了 “开课日期” 数据表并且加入日期选择模块  5、加入系统托盘图标显示  6、新增...

    反编译工具

    5、内置基于文件内容的单行或多行代码关键字搜索、可显示无穷多个搜索结果以标签的形式分门别类;可指定搜索范围(整个项目或在指定的文件或文件夹中搜索)、大小写,编码类型;从此无需再借助其他工具,即可轻松的...

    java7源码-updater-core:更新核心

    添加多行AfterRun语句的支持 修改同步规则从客户端获取改为从服务端获取 1.0.1b2 修改默认端口为26542 修复文件极多的文件夹无法更新的问题 移除更新完后的提示框 1.0.1b3 1.添加GUI界面 1.1 添加动态执行机制 添加...

    Editplus 3[1].0

    要运行已编译的 Java 类文件,你可以进行如下设置: 菜单文本:Java 命令:c:\java\bin\java.exe 参数:$(FileNameNoExt) 初始目录:$(FileDir) “命令”部分应当替换为实际的 Java 解释器的路径。 例子 2. Borland...

    kindeditor-4.1.5.rar

    KindEditor 是一套开源...风格:修改编辑器风格非常容易,只需修改一个 CSS 文件 兼容:支持大部分主流浏览器,比如 IE、Firefox、Safari、Chrome、Opera 压缩内容简约已经被我简约化了,去除了一些自带的调试的文件!

    ApkIDE——安卓反编译

    集成了ApkTool、Dex2jar、JD-GUI等Apk修改工具,集Apk反编译、Apk打包、Apk签名,支持语法高亮的代码编辑器,基于文件内容的关键字(支持单行代码或多行代码段)搜索、替换引擎,打造成可视的、一体化的APK修改工具...

    editplus 代码编辑器html c++ jsp css

    【14】工具集成——编译器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis、C#) 【15】工具集成——让Editplus调试PHP程序———————-avenger,aukw 【16】工具集成——打造 PHP 调试环境(二)——...

    ARCH4系统开发指南

    10.1 嵌套的多行输入域的样例文件 121 10.1.1 NestedMultiLineExampleLayer2.jsp源码 121 10.1.2 NestedMultiLineExampleLayer3.jsp源码 125 10.1.3 NestedMultiLineExampleLayer4.jsp源码 129 10.2 JSP页面风格规范...

    ue-chinese17.1内含注册机

    多行查找和替换所有的搜索对话框(查找,替换,在文件中查找,在文件中替换) 拼写检查和本地化支持80种语言,包括美式英语,英式英语,荷兰语,芬兰语,法语,德语,匈牙利语,意大利语,西班牙语和瑞典语) 免费的...

    山寨QQ源代码

    代码在下面,有2000多行,总共17个文件,干脆就看看这些思路得了。 山寨QQ分为用户端和服务器端,主要用到的Java知识点有:多线程、网络编程、IO流,如果能够加入数据库当然更好,可是我在家一直没网,没有数据库,...

Global site tag (gtag.js) - Google Analytics