浅谈Java中File文件的创建以及读写

浅谈Java中File文件的创建以及读写

在Java中,我们可以使用File类同时实现文件的创建和读写操作。下面将详细介绍File类的相关操作。

创建File文件

我们可以通过File类创建文件,具体代码如下:

import java.io.*;

public class CreateFile {
    public static void main(String[] args) throws IOException {
        File file = new File("test.txt");
        if (!file.exists()) {
            file.createNewFile();
            System.out.println("文件已创建");
        } else {
            System.out.println("文件已存在");
        }
    }
}

上述代码中,我们首先利用File类创建一个文件对象,接着判断文件是否存在,如果不存在就使用createNewFile方法创建文件。当文件创建成功时,会输出“文件已创建”;如果文件已经存在,则会输出“文件已存在”。

读写File文件

接下来,我们来看如何读写File文件。我们分别介绍使用字符流和字节流的方式。

字符流读写File文件

我们可以使用字符流来读写File文件,具体代码如下:

import java.io.*;

public class WriteFile {
    public static void main(String[] args) {
        File file = new File("test.txt");
        try {
            FileWriter fw = new FileWriter(file, true);
            fw.write("Hello World!");
            fw.flush();
            fw.close();

            FileReader fr = new FileReader(file);
            char[] cbuf = new char[1024];
            int length = 0;
            while ((length = fr.read(cbuf)) != -1) {
                System.out.println(new String(cbuf, 0, length));
            }
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,我们首先利用File类创建一个文件对象,并使用FileWriter类的构造方法来创建一个文件写入流。接着,我们使用write方法将一段字符串写入文件中,最后利用flush方法刷新流并将缓冲区中的数据写入文件。关闭文件输出流后,我们再创建一个文件输入流FileReader并使用read方法读取文件中的数据。最后输出读取的字符串。由于字符流对中文字符的支持较好,因此我们在读取文件的时候可以直接使用char类型的数组。

字节流读写File文件

我们也可以使用字节流来读写File文件,如下所示:

import java.io.*;

public class WriteFile {
    public static void main(String[] args) {
        File file = new File("test.txt");
        try {
            FileOutputStream fos = new FileOutputStream(file, true);
            String str = "Hello World!";
            fos.write(str.getBytes());
            fos.flush();
            fos.close();

            FileInputStream fis = new FileInputStream(file);
            byte[] buf = new byte[1024];
            int length = 0;
            while ((length = fis.read(buf)) != -1) {
                System.out.println(new String(buf, 0, length));
            }
            fis.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,我们同样是利用File类创建一个文件对象,并使用FileOutputStream类的构造方法创建一个文件输出流。接着,我们将字符串Hello World!转换成字节数组类型,并使用write方法将数据写入文件中。关闭文件输出流后,我们再创建一个文件输入流FileInputStream并使用read方法读取文件中的数据。最后输出读取的字符串。由于字节流对中文字符的支持不如字符流,因此在读取文件时需要不断将读取的字节转换成字符。

以上便是关于Java中File文件的创建以及读写的完整攻略,代码已经包含两个示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈Java中File文件的创建以及读写 - Python技术站

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

相关文章

  • Java I/O流之打印流详细使用方法教程

    下面就为您详细讲解 Java I/O 流之打印流的详细使用方法教程。 简介 Java 提供了多种 I/O 流来处理输入输出操作,其中打印流(PrintStream 和 PrintWriter)可以方便地格式化输出文本。本文将着重介绍打印流的使用方法。 打印流的创建 创建打印流对象的方式与创建其他 I/O 流类似,通常需要指定输出目标。以下是创建打印流对象的两…

    Java 2023年5月26日
    00
  • 使用Spring扫描Mybatis的mapper接口的三种配置

    使用Spring扫描Mybatis的mapper接口是在Spring应用中很常见的用法,下面介绍三种配置方式。 1. 通过MapperScan注解 这是Spring提供的最简单的一种方式,只需要在@Configuration类上加上@MapperScan(“mapperPackagePath”)即可。其中,mapperPackagePath是mapper接口…

    Java 2023年5月20日
    00
  • spring mvc 使用kaptcha配置生成验证码实例

    下面我会详细给您讲解“spring mvc 使用kaptcha配置生成验证码实例”的完整攻略,过程中会包含两条示例说明。 首先,您需要了解一下什么是Kaptcha。Kaptcha是Google的Java类库,用于生成验证码。它可以快速轻松地生成验证码,比如数字,字母和数字的组合,中文汉字等等。 接下来,我们来介绍一下在Spring MVC中如何使用Kaptc…

    Java 2023年6月15日
    00
  • SpringMVC下获取验证码实例详解

    下面我将为您详细讲解“SpringMVC下获取验证码实例详解”的完整攻略。该攻略主要分为三个部分,分别是:前端页面、后端控制器和验证码生成工具。 前端页面 首先,我们需要在前端页面中添加验证码输入框和验证码图片。具体代码如下: <!DOCTYPE html> <html> <head> <meta charset=&…

    Java 2023年6月15日
    00
  • java maven项目如何读取配置文件信息

    要让Java的Maven项目读取配置文件信息,通常有以下几个步骤。 1.将配置文件放置到资源目录下 Maven项目的标准目录结构中,资源文件通常放置在src/main/resources目录下。将配置文件放置到该目录下,可以方便项目的打包和部署。在这个目录下新建一个名为config.properties的配置文件,文件内容如下: database.host=…

    Java 2023年5月19日
    00
  • Java字符串 正则表达式详解

    来讲解一下“Java字符串正则表达式详解”的攻略吧。 Java字符串 正则表达式详解 什么是正则表达式? 正则表达式是一种通用的文本处理语言,它是用一种描述性的语言来描述一组字符串的集合,这个集合通常是某种字符序列。正则表达式用于快速地检索、替换那些符合某个模式的文本。其应用范围相当广泛,如文本编辑器、命令行工具、服务器端脚本等,也是Java中常用的操作字符…

    Java 2023年5月26日
    00
  • 一文带你了解Java选择排序的原理与实现

    一文带你了解Java选择排序的原理与实现 什么是选择排序 选择排序是一种简单但低效的排序算法,其主要思想是每次从待排序的数列中选取最小(或最大)的数放到已排序数列的末尾,直到所有的数都被排序完毕。 选择排序的时间复杂度为O(n²),虽然效率比冒泡排序略高,但是由于其固定的O(n²)时间复杂度,对于大规模数据的排序,效率仍然十分低下。 选择排序的具体实现 以下…

    Java 2023年5月19日
    00
  • c#实现根据网络IP显示地理位置功能示例

    C#实现根据网络IP显示地理位置功能攻略 什么是IP地址 IP地址是Internet Protocol Address(英语,直译为“网际协议地址”)的缩写,是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。 IP地址在Internet中用作唯一标识因特网上的设备。 根据IP地址显示地理位置 …

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