如何删除文件中带有某个特定单词或者特定标识的行
来源:互联网 发布:brew mysql 编辑:程序博客网 时间:2024/05/20 01:11
这个小程序为需要在一个txt文件或其他文件中大量删除某个特定标识所在的行的操作提供了方便
程序主要运用的是关于Java IO的知识,代码中有冗余的部分,也有可以改动使代码变的更加简洁的部分,但个人认为,这应该是最通俗易懂的部分。
话不多说,下面贴上我的代码,部分有注释,部分无注释,若哪儿看不懂,可以在评论区下面留言喔~
package file;import java.io.*;import java.util.*;/* * 1.读取制定文件夹中的txt文件 * 2.判断txt文件的每一行是否有"prompt" * 3.删除带有"prompt"的行 * * */public class FileDelete {public static void main(String[] args) throws IOException {// TODO Auto-generated method stubList<File> list = new ArrayList<File>();File fi = new File("/Users/fangweizhou/Downloads/数据库表");dirFile(fi, list);delete(fi, list);}public static void dirFile(File fi, List<File> list) {File[] files = fi.listFiles();for (File file : files) {// 判断file是否为一个目录,若是,将该file中的所有txt文件放入list集合中if (file.isDirectory())// 若目录中不再存在目录,即进入该目录下进行下一步操作dirFile(file, list);else {if (file.getName().endsWith(".txt"))list.add(file);}}}public static void delete(File fi, List<File> list) throws IOException {if (fi.exists()) {for (File file : list) {// 创建一个读取流对象和文件相关联。FileReader f = new FileReader(file);// 将读取格式改为"UTF-8"格式(该格式为中文格式)InputStreamReader read = new InputStreamReader(new FileInputStream(file), "UTF-8");// 加入缓冲技术。将字符读取流对象作为参数传递给缓冲对象的构造函数。BufferedReader br = new BufferedReader(f);String line = null;StringBuilder sb = new StringBuilder();String s = "prompt";while ((line = br.readLine()) != null) {if (line.contains(s)) {sb.append("\r\n");} else {sb.append(line + "\r\n");}}br.close();OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");BufferedWriter bw = new BufferedWriter(new FileWriter(file));if (sb.length() > 1000) {bw.write(sb.toString());}bw.flush();}} else {System.out.println("找不到该文件夹!");}}}
阅读全文
0 0
- 如何删除文件中带有某个特定单词或者特定标识的行
- 删除某个文件中特定一行源码
- SourceInsight项目中如何删除特定类型的文件
- Git获取某个分支的特定文件夹或者文件
- 如何用 tmpwatch 删除某个目录下的特定文件
- C++从string中删除所有的某个特定字符
- js删除数组中某个特定的对象
- [bash]删除文件中含特定字符串的行
- [bash]删除文件中含特定字符串的行
- 删除文件中特定字符串
- 从字符串中分离找出每个单词,并且寻找某个特定的单词
- 如何删除RichTextBox里的特定行
- set 删除某个特定值的用法
- C++删除某个特定的进程
- 如何对dbgrideh中特定的字段求和或者合计
- 删除、去掉字符串尾部的0或者某个特定字符(递归实现)
- DataTable如何删除特定行
- 查找字符串中某个特定的单词出现的次数(练习)
- dede学习-增加文章内容
- ajax提交
- postgreSql 关键字和自定义的字段重名
- mybais的简介
- C++中memset作用
- 如何删除文件中带有某个特定单词或者特定标识的行
- [Java]Socket和ServerSocket学习笔记
- tomcat跟mysql(解压版安装)
- mariadb数据库管理系统
- 利用spring打印mybatis执行的sql
- 根据Powerdesigner 创建数据库中的表
- 【AGC006C】Rabbit Exercise
- springboot部署到centos访问不成功
- Java之DateFormatUtils格式化24小时制-yellowcong