Path source = Paths.get("1.txt"); // 相对路径 使用 user.dir 环境变量来定位 1.txt
Path source = Paths.get("d:\\1.txt");
Path source = Paths.get("d:/1.txt");
Path projects = Paths.get("d:\\data", "projects");
Path path = Paths.get("d:\\data\\projects\\a\\..\\b");
System.out.println(path);
System.out.println(path.normalize()); // 正常化路径
//输出结果
d:\data\projects\a\..\b
d:\data\projects\
package com.example.nettytest.nio.day2;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
/**
* @description:
* @author: xz
* @create: 2022-07-26 21:50
*/
public class TestFile {
public static void main(String[] args) {
checkFileExists();
}
/**
* 检查文件是否存在
* */
public static void checkFileExists(){
Path path = Paths.get("file/1.txt");
boolean exists = Files.exists(path);
System.out.println("文件是否存在:"+exists);
}
}
package com.example.nettytest.nio.day2;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
/**
* @description:
* @author: xz
* @create: 2022-07-26 21:50
*/
public class TestFile {
public static void main(String[] args) {
createDirect();
}
/**
* 创建一级目录
* 如果目录已存在,会抛异常 FileAlreadyExistsException
* 不能一次创建多级目录,否则会抛异常 NoSuchFileException
* */
public static void createDirect(){
Path path = Paths.get("file/d1");
try {
Files.createDirectory(path);
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.example.nettytest.nio.day2;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
/**
* @description:
* @author: xz
* @create: 2022-07-26 21:50
*/
public class TestFile {
public static void main(String[] args) {
createMoreDirect();
}
/**
* 创建多级目录
* */
public static void createMoreDirect(){
Path path = Paths.get("file/d2/d3");
try {
Files.createDirectories(path);
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.example.nettytest.nio.day2;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
/**
* @description:
* @author: xz
* @create: 2022-07-26 21:50
*/
public class TestFile {
public static void main(String[] args) {
copyFile();
}
/**
* 拷贝文件
* 如果文件已存在,会抛异常 FileAlreadyExistsException
* */
public static void copyFile(){
Path source = Paths.get("file/copy1.txt");
Path target = Paths.get("file/copy2.txt");
try {
Files.copy(source, target);
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.example.nettytest.nio.day2;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
/**
* @description:
* @author: xz
* @create: 2022-07-26 21:50
*/
public class TestFile {
public static void main(String[] args) {
copyFile2();
}
/**
* 拷贝文件
* 如果文件已存在,会抛异常 FileAlreadyExistsException
* 如果希望用 source 覆盖掉 target文件中的内容,需要用 StandardCopyOption 来控制
* */
public static void copyFile2(){
Path source = Paths.get("file/copy1.txt");
Path target = Paths.get("file/copy2.txt");
try {
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.example.nettytest.nio.day2;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
/**
* @description:
* @author: xz
* @create: 2022-07-26 21:50
*/
public class TestFile {
public static void main(String[] args) {
moveFile();
}
/**
* 移动文件
* StandardCopyOption.ATOMIC_MOVE 保证文件移动的原子性
* */
public static void moveFile(){
Path source = Paths.get("file/copy1.txt");
Path target = Paths.get("file/d1/copy1.txt");
try {
Files.move(source, target, StandardCopyOption.ATOMIC_MOVE);
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.example.nettytest.nio.day2;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
/**
* @description:
* @author: xz
* @create: 2022-07-26 21:50
*/
public class TestFile {
public static void main(String[] args) {
deleteFile();
}
/**
* 删除文件
* 如果文件不存在,会抛异常 NoSuchFileException
* */
public static void deleteFile(){
Path target = Paths.get("file/d1/copy1.txt");
try {
Files.delete(target);
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.example.nettytest.nio.day2;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
/**
* @description:
* @author: xz
* @create: 2022-07-26 21:50
*/
public class TestFile {
public static void main(String[] args) {
deleteDirectory();
}
/**
* 删除目录
* 如果目录还有内容,会抛异常 DirectoryNotEmptyException
* */
public static void deleteDirectory(){
Path target = Paths.get("file/d2/d3");
try {
Files.delete(target);
} catch (IOException e) {
e.printStackTrace();
}
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://wwwxz.blog.csdn.net/article/details/126003983
内容来源于网络,如有侵权,请联系作者删除!