编写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;
  }
}
相关文章
|
13天前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
66 5
|
1月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
2月前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
27天前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
41 2
|
1月前
|
Java Linux
java读取linux服务器下某文档的内容
java读取linux服务器下某文档的内容
36 3
java读取linux服务器下某文档的内容
|
30天前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
35 1
|
2月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
41 5
|
2月前
|
Java 编译器 数据库连接
探索Java中的异常处理:提升程序的鲁棒性
【9月更文挑战第25天】在Java的世界里,异常是那些不请自来、令人头疼的“客人”。它们悄无声息地潜入我们的代码,一旦出现,便可能导致程序崩溃或行为异常。但是,如果能够妥善管理这些异常,我们就能将潜在的灾难转变为增强程序鲁棒性和用户体验的机会。本文将通过深入浅出的方式,带领读者理解Java异常处理的重要性,并提供实用的策略来优雅地处理这些意外情况。让我们一起学习如何在Java中捕捉、处理和预防异常,确保我们的程序即使在面对不可预见的错误时也能保持稳健运行。
|
1月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
27 0