ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java Path和Files工具类

2022-06-26 11:05:10  阅读:151  来源: 互联网

标签:Files Java java file Path txt TestFile


 

jDK1.7引入了新的IO操作类,java.nio.file包下的Path接口和Files类。

 

Path接口:

  (1)Path表示的是一个目录名序列,其后还可以跟一个文件名,路径第一个部件是根部件时

     就是绝对路径,例如(/或C:\\)。是否可以访问根部件取决与文件系统。

  (2)以根部件开始就是绝对路径,否则是相对路径

  (3)Paths的静态方法get()接受一个或多个字符,字符之间使用系统默认的文件分隔符,UNIX

     使用 / ,windows使用  \\  ,这就解决了跨平台的问题。

 

Files类:

  此类提供大量方法,快速实现文件/目录的创建、复制、移动、删除以及文件读写操作。

 

代码示例:

package com.seven.javaSE;

import java.io.File;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.nio.file.StandardOpenOption;

public class Path_Files_demo {
    public static void main(String[] args) {
        File file = new File("c:\\\\TestFile\\\\hello.txt");
        
        //获取路径方式一
        Path p1 = Paths.get("c:\\TestFile","hello.txt");
        Path p2 = Paths.get("c:\\TestFile\\hello.txt");
        System.out.println(p1);  //c:\TestFile\hello.txt
        System.out.println(p2);  //c:\TestFile\hello.txt
        
        //获取路径方式二
        Path p3 = file.toPath();
        System.out.println(p3); //c:\TestFile\hello.txt
        
        //获取路径方式三
        Path p4 = FileSystems.getDefault().getPath("C:\\TestFile\\target.txt");
        System.out.println(p4);  //c:\TestFile\hello.txt
        
//        Files工具类
        
        try {
            //Files读取文件
            byte [] rBytes = Files.readAllBytes(p4);
            System.out.println(new String(rBytes));
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        
        String info = "Files提供的静态方法很强大";
        try {
            //Files写入文件
            Files.write(p1, info.getBytes(), StandardOpenOption.WRITE);
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        
        try {
            //复制文件
            Files.copy(p1, p4,StandardCopyOption.REPLACE_EXISTING);
        } catch (IOException e) {
            e.printStackTrace();
        }
        
//        try {
//            //移动文件
//            Files.move(p1, Paths.get("C:\\TestFile\\move\\move.txt"), StandardCopyOption.REPLACE_EXISTING );
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
        
        try {
            //删除文件
            Files.deleteIfExists(Paths.get("C:\\TestFile\\a.txt"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        try {
            //创建文件夹
            Files.createDirectory(Paths.get("C:\\TestFile\\new_dir\\3"));
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

 

标签:Files,Java,java,file,Path,txt,TestFile
来源: https://www.cnblogs.com/javafufeng/p/16413086.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有