java中创建、写入文件的5种方式

当我们在开发Java应用程序时,可能会遇到需要将数据写入文件的需求,本文将介绍Java中创建、写入文件的5种方式。

1. 使用FileOutputStream和BufferedOutputStream创建和写入文件

使用Java的FileOutputStream和BufferedOutputStream类,我们可以创建和写入文件:

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

public class FileExample {
   public static void main(String[] args) throws IOException {
      Scanner scanner = new Scanner(System.in);
      System.out.println("请输入一个字符串:");
      String str = scanner.nextLine();

      // 创建文件输出流和缓冲输出流
      FileOutputStream fileOutputStream = new FileOutputStream("output.txt");
      BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);

      // 将字符串写入到文件中
      byte[] buffer = str.getBytes(StandardCharsets.UTF_8);
      bufferedOutputStream.write(buffer);

      // 关闭流
      bufferedOutputStream.close();
      fileOutputStream.close();
   }
}

上述示例中,我们通过Scanner类获得用户输入的字符串,然后使用FileOutputStream和BufferedOutputStream类创建文件输出流和缓冲输出流。接着,将字符串转换为字节数组,然后将其写入缓冲输出流中。最后,我们必须关闭流以避免资源泄漏。

2. 使用PrintWriter创建和写入文本文件

另一种写入文件的方法是使用Java的PrintWriter类,可以将数据写入文本文件:

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class FileExample {
   public static void main(String[] args) throws IOException {
      Scanner scanner = new Scanner(System.in);
      System.out.println("请输入一个字符串:");
      String str = scanner.nextLine();

      // 创建PrintWriter对象并将其包装在FileWriter对象中
      PrintWriter printWriter = new PrintWriter(new FileWriter(new File("output.txt")));

      // 将字符串写入到文件中
      printWriter.print(str);

      // 关闭流
      printWriter.close();
   }
}

上述示例中,我们通过Scanner类获得用户输入的字符串,然后使用PrintWriter类创建打印流。我们将打印流包装在FileWriter类中,并指定输出文件的路径。然后,我们使用PrintWriter类的print()方法将字符串写入到文件中。最后,流必须关闭以释放资源。

除了print()方法,PrintWriter还提供了println()方法,它可以将字符串作为新行写入文件:

printWriter.println(str);

3. 使用Files类创建和写入文件

在Java 7中,Files类提供了方便的方法来创建和写入文件:

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Scanner;

public class FileExample {
   public static void main(String[] args) throws IOException {
      Scanner scanner = new Scanner(System.in);
      System.out.println("请输入一个字符串:");
      String str = scanner.nextLine();

      // 将字符串写入到文件中
      Path path = Paths.get("output.txt");
      byte[] buffer = str.getBytes(StandardCharsets.UTF_8);
      Files.write(path, buffer);

   }
}

在这个示例中,我们使用Scanner类获取用户输入的字符串。然后,我们使用Files类的write()方法将字符串转换为字节数组,并将其写入到文件中。文件路径由Paths类提供的静态get()方法表示。

4. 使用BufferedWriter和FileWriter创建和写入文件

另一种创建和写入文件的方法是使用BufferedWriter和FileWriter类:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class FileExample {
   public static void main(String[] args) throws IOException {
      Scanner scanner = new Scanner(System.in);
      System.out.println("请输入一个字符串:");
      String str = scanner.nextLine();

      // 创建文件输出流和缓冲输出流
      FileWriter fileWriter = new FileWriter("output.txt");
      BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);

      // 将字符串写入到文件中
      bufferedWriter.write(str);

      // 关闭流
      bufferedWriter.close();
      fileWriter.close();
   }
}

在上述示例中,我们使用Scanner类获取用户输入的字符串,然后使用FileWriter和BufferedWriter类创建文件输出流和缓冲输出流。我们将字符串写入到缓冲输出流中,最后必须关闭流以释放资源。

5. 使用RandomAccessFile类创建和写入文件

最后一种创建和写入文件的方法是使用Java的RandomAccessFile类:

import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;

public class FileExample {
   public static void main(String[] args) throws IOException {
      Scanner scanner = new Scanner(System.in);
      System.out.println("请输入一个字符串:");
      String str = scanner.nextLine();

      // 创建RandomAccessFile并设置文件长度
      RandomAccessFile randomAccessFile = new RandomAccessFile("output.txt", "rw");
      randomAccessFile.setLength(0);

      // 将字符串写入到文件中
      randomAccessFile.writeBytes(str);

      // 关闭流
      randomAccessFile.close();
   }
}

在上述示例中,我们使用Scanner类获取用户输入的字符串,然后使用RandomAccessFile类创建文件并设置其长度。最后,我们将字符串写入到文件中,然后关闭流以释放资源。

这里的"rw"参数是为了告诉RandomAccessFile类可以进行读写操作。如果只需要进行写操作,则可以使用"w"参数。

以上就是Java中创建和写入文件的5种方式。根据你的需求和喜好选择其中的一种最适合你的方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中创建、写入文件的5种方式 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • jsp分页显示完整实例

    下面就来详细讲解一下“jsp分页显示完整实例”的攻略。 什么是分页显示? 分页显示是指将大量数据分开展示,并通过页面的控件使用户可以翻页操作,进行查看。 为什么需要分页显示? 如果展示的数据量过大,会导致页面加载速度变慢,甚至使页面崩溃。另外,用户在查看数据时,如果没有分页功能,会使得他们无法方便地找到所需数据。 实现分页显示的方法 实现分页显示有多种方法,…

    Java 2023年6月15日
    00
  • Java实战之实现文件资料上传并生成缩略图

    下面我将详细讲解“Java实战之实现文件资料上传并生成缩略图”的完整攻略。 目录 资料上传的步骤 生成缩略图的步骤 示例一:使用Spring MVC实现文件上传 示例二:使用Apache Commons FileUpload实现文件上传 资料上传的步骤 在前端页面上添加文件上传表单,并设置相应的属性。 <form action="#&quot…

    Java 2023年5月20日
    00
  • tomcat 集群监控与弹性伸缩详解

    Tomcat 集群监控与弹性伸缩详解 一、实现方式 Tomcat 集群监控与弹性伸缩可以通过组合使用多种开源工具来实现,其中包括: Apache ZooKeeper:用于实现 Tomcat 集群中的节点管理和数据同步。 Tomcat manager:用于实现对 Tomcat 服务器的管理和监控。 Apache jmeter:用于实现对 Tomcat 集群的性…

    Java 2023年6月2日
    00
  • 详解SpringBoot通过restTemplate实现消费服务

    在Spring Boot中,我们可以使用RestTemplate来消费RESTful服务。RestTemplate是Spring框架提供的一个HTTP客户端,它可以发送HTTP请求并接收HTTP响应。在本攻略中,我们将详细介绍如何使用RestTemplate来消费服务,并提供两个示例来说明其用法。 以下是两个示例,介绍如何使用RestTemplate来消费服…

    Java 2023年5月15日
    00
  • boot-admin开源项目中有关后端参数校验的最佳实践

    我们在项目开发中,经常会对一些参数进行校验,比如非空校验、长度校验,以及定制的业务校验规则等,如果使用if/else语句来对请求的每一个参数一一校验,就会出现大量与业务逻辑无关的代码,繁重不堪且繁琐的校验,会大大降低我们的工作效率,而且准确性也无法保证。为保证数据的正确性、完整性,前后端都需要进行数据检验。本文对开源 boot-admin 项目的后端校验实践…

    Java 2023年5月7日
    00
  • 什么是Java Security Manager?

    Java SecurityManager是Java安全管理器,它是Java安全体系结构中的一部分,依靠安全策略来保护Java应用程序中的代码和资源。SecurityManager为你的代码提供了非常细粒度的安全控制,可以保证应用程序中的代码和资源的安全性,以防止恶意攻击、非法访问和其它的安全威胁。 使用Java SecurityManager的步骤如下: 启…

    Java 2023年5月11日
    00
  • 浅谈springmvc 通过异常增强返回给客户端统一格式

    以下是关于“浅谈SpringMVC通过异常增强返回给客户端统一格式”的完整攻略,其中包含两个示例。 浅谈SpringMVC通过异常增强返回给客户端统一格式 在SpringMVC中,我们可以通过异常增强的方式来统一处理异常,并将异常信息以统一的格式返回给客户端。在本文中,我们将讲解如何通过异常增强的方式来实现这一功能。 异常增强实现原理 SpringMVC通过…

    Java 2023年5月17日
    00
  • extJs 常用到的增,删,改,查操作代码

    下面我将为您详细讲解 ExtJS 常用到的增、删、改、查操作的完整攻略。这里主要针对 ExtJS 版本 6.2 进行讲解。 概述 在 ExtJS 中,我们常常需要进行数据的增、删、改、查操作。这些操作基本都是基于 Ext.data.Store 和 Ext.data.Model 进行的。 其中,Ext.data.Store 负责连接数据源(可以是远程 URL,…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部