编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中

简介: 编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中

需求说明:


读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中

19.png20.png


实现思路:

在main() 方法中,使用 new File(String pathname) 构造方法,分别创建用来读取的文件实例 file 和用来写入的文件实例 newFile

编写 readTxtFile(File file) 方法读取文件内容,返回字符串

编写 writeContent(String str, File newFile) 方法写入文件,写入文件之前,使用字符串的替换函数 replace 替换‘广告’为’’,然后将替换后的字符串写入新文件中


实现代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class SaveNewFlie {
  public static void main(String[] args) {
    SaveNewFlie saveNewFlie = new SaveNewFlie();
    //需要读取的文本对象
    File file = new File("z:\\xin.txt");
    //需要写入新内容的文本对象
    File newFile = new File("d:\\newXin.txt");
    //判断读取的内容是否存在
    if (file.exists()) {
      //返回读取的文本内容
      String str = saveNewFlie.readTxtFile(file);
      str.replace("广告","");
      //将改变后的文本内容写入到新文件内
      saveNewFlie.writeContent(str, newFile);
      System.out.println("重写文件成功");
    } else {
      System.out.println("改文件不存在,不能读取!");
    }
  }
  //将更改后的内容写入到一个新的文件内
  public void writeContent(String str, File file) {
    FileOutputStream output = null;
    try {
      //实例化一个字节输出流
      output = new FileOutputStream(file);
      //把要写入的文本内容转换成字节数组
      byte[] temp = str.getBytes();
      //将保存在字节数组内的数据写入到新文件内
      output.write(temp);
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }finally{
      if (output != null) {
        try {
          output.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }
  //读取文件内的文本内容
  public String readTxtFile(File file) {
    String str = null;
    FileInputStream input = null;
    try {
      //实例化一个字节输入流
      input = new FileInputStream(file);
      //创建一个字节数组,用来保存读取到的内容
      byte[] temp = new byte[(int)file.length()];
      //将读取到的内容保存到字节数组
      input.read(temp);
      //将字节数组转换成字符串
      str = new String(temp,"gbk");
      System.out.println("原始内容:"+str);
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }finally {
      try {
        input.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
    return str;
  }
}
相关文章
|
1月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
131 5
|
2月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
3月前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
1月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
66 1
|
23天前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
37 0
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
139 2
|
2月前
|
Java Linux
java读取linux服务器下某文档的内容
java读取linux服务器下某文档的内容
43 3
java读取linux服务器下某文档的内容
|
2月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
153 1
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
66 1
|
2月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
39 0