java files常用方法

Java文件常用方法包括创建、读取、写入、删除等操作。

Java中的Files类是java.nio.file包下的一个工具类,它提供了一些用于文件和目录操作的静态方法,这些方法都是基于NIO(New Input/Output)的,相比于传统的IO操作,NIO更加高效、灵活,下面我们来详细介绍一下Files类中常用的方法。

1、创建文件或目录

java files常用方法

创建文件可以使用Files类的createFile()方法,创建目录可以使用createDirectory()方法,这两个方法都接受一个Path对象作为参数,表示要创建的文件或目录的路径,如果文件或目录已经存在,那么这两个方法都会抛出FileAlreadyExistsException异常。

示例代码:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FilesDemo {
    public static void main(String[] args) {
        Path filePath = Paths.get("test.txt");
        Path dirPath = Paths.get("testDir");
        try {
            Files.createFile(filePath);
            Files.createDirectory(dirPath);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2、读取文件内容

Files类提供了readAllBytes()、readAllLines()、readAllChars()等方法,用于读取文件的内容,这些方法都接受一个Path对象和一个Charset对象作为参数,表示要读取的文件的路径和字符集,返回值是一个字节数组、字符串列表或字符数组,分别对应于文件的全部内容、所有行的内容和所有字符的内容。

java 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.List;
public class FilesDemo {
    public static void main(String[] args) {
        Path filePath = Paths.get("test.txt");
        try {
            byte[] bytes = Files.readAllBytes(filePath);
            String content = new String(bytes, StandardCharsets.UTF_8);
            System.out.println("文件内容:" + content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3、写入文件内容

Files类提供了write()、writeAllBytes()、writeAllLines()等方法,用于将内容写入文件,这些方法都接受一个Path对象和一个字节数组、字符串列表或字符串作为参数,表示要写入的文件的路径和内容,如果文件不存在,那么这些方法都会创建一个新文件;如果文件已存在,那么这些方法都会覆盖原有内容。

示例代码:

java 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.List;
public class FilesDemo {
    public static void main(String[] args) {
        Path filePath = Paths.get("test.txt");
        String content = "Hello, world!";
        List<String> lines = List.of("Line 1", "Line 2", "Line 3");
        byte[] bytes = content.getBytes(StandardCharsets.UTF_8);
        byte[] allBytes = linesToBytes(lines);
        try {
            Files.write(filePath, content.getBytes(StandardCharsets.UTF_8)); // 覆盖原有内容
            Files.write(filePath, allBytes); // 覆盖原有内容,写入多行内容
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                Files.write(filePath, bytes); // 覆盖原有内容,写入单行内容
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    private static byte[] linesToBytes(List<String> lines) {
        return lines.stream().map(line -> line + System.lineSeparator()).collect(Collectors.joining()).getBytes(StandardCharsets.UTF_8);
    }
}

4、删除文件或目录

Files类提供了delete()、deleteIfExists()等方法,用于删除文件或目录,这些方法都接受一个Path对象作为参数,表示要删除的文件或目录的路径,如果文件或目录不存在,那么这些方法都不会执行任何操作;如果文件或目录存在,那么这些方法都会删除它们,deleteIfExists()方法还会返回一个布尔值,表示是否成功删除了文件或目录。

示例代码:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javafx.scene.control.*; // 引入ComboBox控件所需的库,这里以JavaFX为例,实际项目中可以根据需求选择其他库或自定义控件实现类似功能。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/226610.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-01-18 18:20
Next 2024-01-18 18:21

相关推荐

  • 快速搭建ThinkPHP应用的七个步骤「thinkphp搭建教程」

    一、安装环境准备在开始搭建ThinkPHP应用之前,我们需要先准备好开发环境,这包括安装Web服务器(如Apache或Nginx)、数据库服务器(如MySQL)以及PHP解释器,我们还需要安装Composer,这是一个PHP的依赖管理工具,可以帮助我们更方便地管理和更新项目中的依赖库。二、创建项目目录结构在安装好开发环境后,我们需要创……

    2023-11-18
    0193
  • linux删除非空目录命令

    在Linux系统中,删除非空目录是一个相对复杂的任务,这是因为当你试图删除一个包含文件和子目录的目录时,系统会拒绝执行这个操作,以防止意外删除重要数据,有一些方法可以帮助你安全地删除非空目录。我们需要了解的是,删除一个目录实际上就是删除该目录下的所有文件和子目录,要删除一个非空目录,你需要先删除该目录下的所有文件和子目录,这可以通过`……

    2023-11-30
    0213
  • windows文件或目录损坏且无法读取怎么解决

    当我们在使用Windows操作系统时,可能会遇到文件或目录损坏且无法读取的问题,这种情况可能是由于多种原因导致的,例如硬盘故障、文件系统错误、病毒感染等,本文将详细介绍如何解决这一问题。检查磁盘错误1、按下“Win + X”组合键,选择“磁盘管理”。2、在磁盘管理界面中,找到出现问题的磁盘分区,右键点击,选择“属性”。3、在属性窗口中……

    2023-12-31
    0146
  • linux busybox怎么使用

    Linux Busybox是一个小型的Linux发行版,它包含了最基本的命令行工具,如ls、cp、rm等,Busybox的目标是让那些没有硬件资源的嵌入式系统能够运行一个完整的Linux环境,本文将介绍如何安装和使用Busybox,以及一些常用的命令行工具。安装Busybox1、下载Busybox源码包访问Busybox官方网站(ht……

    2024-01-31
    0141
  • 查找目录命令linux?「linux查找目录的命令」

    在Linux系统中,目录是组织文件和子目录的重要方式,为了方便用户管理和查找文件,Linux提供了许多用于查找目录的命令,本文将详细介绍一些常用的Linux查找目录命令,帮助读者更好地理解和掌握这些命令的使用。1. 当前目录我们需要了解当前目录的概念,当前目录是指用户当前所在的目录,在Linux系统中,可以使用`pwd`命令查看当前目……

    2023-11-06
    0133
  • Linux PHP ExtractTo返回整个路径而不是文件结构

    Linux PHP ExtractTo函数返回整个路径,而非文件结构。

    2024-01-25
    0153

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入