java.nio.Files使用

Posted 工程哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.nio.Files使用相关的知识,希望对你有一定的参考价值。

一、java.nio.Files知识体系

二、代码

package nio;

import com.sun.jndi.toolkit.url.Uri;

import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.List;

public class FilesTest 
    public static void main(String[] args) throws URISyntaxException, IOException 
        System.out.println(System.getProperty("user.dir"));

        // 1、创建类
        // 1.1 创建文件
        File newFile = new File(System.getProperty("user.dir") + "\\\\src" + "\\\\output" + "\\\\newFile.txt");
        if (!Files.exists(newFile.toPath())) 
            Files.createFile(newFile.toPath());
        

        // 1.2 创建文件夹
        File newDirectory = new File(System.getProperty("user.dir") + "\\\\src" + "\\\\output" + "\\\\newDirectory");
        if (!Files.exists(newDirectory.toPath())) 
            Files.createDirectory(newDirectory.toPath());
            newDirectory.setExecutable(true);
            newDirectory.setReadable(true);
            newDirectory.setWritable(true);
        

        // 2、操作类

        // 2.1 将文件复制到目标文件
        Path inputPath = Paths.get(System.getProperty("user.dir") + "\\\\src" + "\\\\input" + "\\\\test.txt");
        Path outputPath = Paths.get(System.getProperty("user.dir") + "\\\\src" + "\\\\output" + "\\\\test.txt");
        Files.copy(inputPath, outputPath, StandardCopyOption.REPLACE_EXISTING);

        // 2.2复制文件
        File inputFile = new File(System.getProperty("user.dir") + "\\\\src" + "\\\\input" + "\\\\test.txt");
        File outputFile = new File(System.getProperty("user.dir") + "\\\\src" + "\\\\output" + "\\\\test2.txt");
        if (!Files.exists(outputFile.toPath())) 
            java.nio.file.Files.copy(inputFile.toPath(), outputFile.toPath());
        

        // 2.3删除文件
        File toBeDeletedFile = new File(System.getProperty("user.dir") + "\\\\src" + "\\\\output" + "\\\\test2.txt");
        Files.delete(toBeDeletedFile.toPath());
        Files.deleteIfExists(toBeDeletedFile.toPath());

        // 3、读写类
        // 3.1 读取文件
        byte[] bytes = Files.readAllBytes(inputPath);
        List<String> lines = Files.readAllLines(inputPath);
        List<String> lineList = Files.readAllLines(inputPath, Charset.forName("UTF-8"));

        // 3.2写文件
        Files.write(outputPath, lines, StandardCharsets.UTF_8);

        // 4、判断类
        Files.exists(inputPath);
        Files.isDirectory(newDirectory.toPath());
        Files.isExecutable(inputPath);
        Files.isHidden(inputPath);
        Files.isReadable(inputPath);
        Files.isSymbolicLink(inputPath);
        Files.notExists(inputPath);
        Files.isWritable(inputPath);
        Files.size(inputPath);

    


以上是关于java.nio.Files使用的主要内容,如果未能解决你的问题,请参考以下文章

java.nio.Files使用

java.nio.Files使用

使用 java.nio.Files 在 Linux 下更改文件所有者组

java.io.File 与 java.nio.Files 哪个是新代码中的首选?

测试使用

第一篇 用于测试使用