编写Java程序,在硬盘中选取一个 txt 文件,读取该文档的内容后,追加一段文字“[ 来自新华社 ]”,保存到一个新的 txt 文件内

简介: 编写Java程序,在硬盘中选取一个 txt 文件,读取该文档的内容后,追加一段文字“[ 来自新华社 ]”,保存到一个新的 txt 文件内

需求说明:


在硬盘中选取一个 txt 文件,读取该文档的内容后,追加一段文字“[ 来自新华社 ]”,保存到一个新的 txt 文件内

21.png22.png


实现思路:

创建 SaveNewFile 类,在main方法中,使用2个new File指向一个要读取的文件和一个要写入的文件

定义String readTxtFile(File file) 方法,该方法将读取目标文件的内容,并将读取的内容返回

定义void writeContent(String str, File newFile) 方法,该方法用来将更改后的文本写入到新文件内

在main方法中调用readTxtFile方法得到读取文件的内容,然后再次  调用writeContent方法,传入追加的内容以及要写入的文件对象完成文件保存


实现代码:

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);
      //将改变后的文本内容写入到新文件内
      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 Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
150 1
|
1月前
|
安全 Java
Java异常处理:程序世界的“交通规则
Java异常处理:程序世界的“交通规则
298 98
|
2月前
|
存储 Java 编译器
对比Java学习Go——程序结构与变量
本节对比了Java与Go语言的基础结构,包括“Hello, World!”程序、代码组织方式、入口函数定义、基本数据类型及变量声明方式。Java强调严格的面向对象结构,所有代码需置于类中,入口方法需严格符合`public static void main(String[] args)`格式;而Go语言结构更简洁,使用包和函数组织代码,入口函数为`func main()`。两种语言在变量声明、常量定义、类型系统等方面也存在显著差异,体现了各自的设计哲学。
|
3月前
|
人工智能 监控 安全
智慧工地解决方案,java智慧工地程序代码
智慧工地系统融合物联网、AI、大数据等技术,实现对施工现场“人、机、料、法、环”的全面智能监控与管理,提升安全、效率与决策水平。
120 2
|
4月前
|
存储 Java 编译器
深入理解Java虚拟机--类文件结构
本内容介绍了Java虚拟机与Class文件的关系及其内部结构。Class文件是一种与语言无关的二进制格式,包含JVM指令集、符号表等信息。无论使用何种语言,只要能生成符合规范的Class文件,即可在JVM上运行。文章详细解析了Class文件的组成,包括魔数、版本号、常量池、访问标志、类索引、字段表、方法表和属性表等,并说明其在Java编译与运行过程中的作用。
127 0
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
121 1
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
137 1
|
2月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
124 0