java.nio.file.Files部分用法

1.文件复制

//Files.copy(Path from,Path to);

Path path=Paths.get(“/work/web.xml”);
//参数二的aaa是复制后存放web.xml内容的文件
//需保证aaa在“/work/ceshi”路径下不能存在,也可加后缀如aaa.xml
//也可以添加StandardCopyOption.REPLACE_EXISTING作为第三个参数覆盖已有文件
Path pp=Files.copy(path,Paths.get("/work/ceshi/aaa"));

2.文件移动

Path from=Paths.get("/work/ceshi/www.xml");
Path to=Paths.get("/work/ceshi/move");
//参数to尾部的文件名是存放www.xml内容的文件,
​​​​​​​//需要保证尾部文件名不存在或者使用参数三:StandardCopyOption.REPLACE_EXISTING覆盖已有文件
Path pp=Files.move(from,to);

3.文件删除

//文件路径不存在会报错
Files.delete(Path to);
//文件存在就删除,不存在不做删除操作,不报错
Files.deleteIfExists(Path to);

4.文件创建

Path from=Paths.get("/work/ceshi/ceshi/ceshi");
//参数的最后一个部件之前的路径必须都已经存在,否则报错
Path pp=Files.createDirectory(Path from);
//最后部件之前的路径若不存在则会自动创建
Path pp1=Files.createDirectories(Path from);

 5.文件读取

 

//文件整体读取
Path from=Paths.get("/work/ceshi/ceshi/logback-spring.xml");
       byte[] bytes=Files.readAllBytes(from);
       String aa=new String(bytes,"utf-8");
        System.out.println(aa);
//文件行读取
 List lines=Files.readAllLines(from,Charset.forName("utf-8"));
        for (int i=0;i

6.文件写入

//默认是覆盖写入
Path from=Paths.get("/work/ceshi/ceshi/logback-spring.xml");
String content="heheda";       Files.write(from,content.getBytes(Charset.forName("utf-8")));
//可通过StandardOpenOption修改模式
Files.write(from,content.getBytes(Charset.forName("utf-8")));
//可通过StandardOpenOption修改其他模式
//追加模式
Files.write(from,content.getBytes(Charset.forName("utf-8")),StandardOpenOption.APPEND);
//以上写入不会自动换行,直接写入



//换行写入
List list =......
Files.write(from,list,Charset.forName("utf-8"));

二。ZIP文件系统





FileSystem fileSystem=FileSystems
.newFileSystem(Paths.get("/work/EERP_Java.zip"),null);
//遍历zip文件系统中的文件

Files.walkFileTree(fileSystem.getPath("/"),new TestFileVisitor());
//复制zip文件系统中的文件
Path path=fileSystem.getPath("/EERP_Java/WebContent/WEB-INF/web.xml");
Files.copy(fileSystem.getPath("/EERP_Java/WebContent/WEB-INF/web.xml"),Paths.get("/work/ceshi"));

//TestFileVisitor的实现
    class TestFileVisitor extends SimpleFileVisitor{

        @Override
        public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
                throws IOException
        {
            System.out.println(file);
            return FileVisitResult.CONTINUE;
        }

    }

 

 

 

 

你可能感兴趣的:(java基础)