Java——打印出指定目录中所有的文件 ,包括子文件夹中的所有文件

import java.io.File;

// 打印出指定目录中所有的文件 ,包括子文件夹中的所有文件
//遍历文件下所有的文件 
public class FileDemo {
  
	public static void main(String[] args) {
		
		
		File f=new File("/Users/auto400/Documents");
		
		traverseFile(f);

	}
	//遍历所有的文件 
	static void traverseFile(File f){
		
		File[] files=f.listFiles();
		
		for (File fi:files){
			
			//如果是目录 
			if (fi.isDirectory()){
				System.out.println(fi);
				
				//递归
				traverseFile(fi);
			}
			else{
				//如果是文件 
				// 不打印隐藏文件 
					if (!fi.isHidden())
					{
						System.out.println(fi);
					}
			}
			
		}
	
	}
}

Java,可以使用`java.nio.file`包的`Files`和`Paths`类来移动文件夹及其所有文件文件夹指定目录。以下是具体步骤: 1. 首先,使用`Files.walk(Path start, FileVisitOption... options)`方法遍历要移动的文件夹下的所有文件文件夹。这个方法会返回一个`Stream<Path>`对象,表示遍历到的路径集合。 2. 然后,通过`Path.resolve(Path other)`方法结合`Files.move(Path source, Path target, CopyOption... options)`方法来移动每一个文件文件夹到目标目录。 下面是一个实现的示例代码: ```java import java.io.IOException; import java.nio.file.*; import java.nio.file.attribute.BasicFileAttributes; import java.util.EnumSet; import java.util.Set; public class MoveFolder { public static void moveFolder(Path sourceFolder, Path targetFolder) throws IOException { // 检查目标目录是否存在,不存在则创建 if (!Files.exists(targetFolder)) { Files.createDirectories(targetFolder); } // 遍历目录,并移动每个文件子目录到目标目录 Files.walk(sourceFolder, FileVisitOption.FOLLOW_LINKS) .forEach(sourcePath -> { Path targetPath = targetFolder.resolve(sourceFolder.relativize(sourcePath)); try { Files.move(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING); } catch (IOException e) { e.printStackTrace(); } }); } public static void main(String[] args) { Path source = Paths.get("/path/to/source/folder"); Path destination = Paths.get("/path/to/destination/folder"); try { moveFolder(source, destination); } catch (IOException e) { e.printStackTrace(); } } } ``` 请注意,在移动文件夹之前,你需要处理一些可能的情况,例如: - 如果目标路径已存在同名文件文件夹,你需要决定是覆盖还是跳过或重命名。 - 需要确保有足够的权限执行移动操作。 - 确保程序能够处理移动过程可能现的异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值