【Java】获取目录及其子目录文件的相关事宜

获取目录及其子目录文件的代码

public class Main {
     
	public static void main(String[] args) {
     
		String path = "D:/"; 
		File f = new File(path);
		Main.getFile(f);
    }
	
	
	
	
	public static void getFile(File file){
     
		if(file != null){
     
			File[] f = file.listFiles();
			if(f != null){
     
				for(int i=0;i<f.length;i++){
     
					getFile(f[i]);
				}
			}else{
     
				System.out.println(file);
			}
		}
	}
}

来源:(Java实现)获取文件目录下的所有文件名,包括子目录

文件路径问题

真实需求中,我们需要获取指定文件夹的文件,那么,这个文件夹该放在哪里?

  • 在IDEA工程文件下运行程序,应该放在哪?
  • 在运行生成的jar文件运行程序,又应该放在哪?

以下是win10系统实测结果

1 快捷方式不管用

必须是真实的路径,不能包含快捷方式,java并不会因为是快捷方式而自动跳转

2 工程目录与jar目录

如果是IDEA工程文件,那么当前目录就是IDEA工程的根目录。

如果是运行jar文件,那么当前目录就是jar文件所在的目录。

当前路径就是执行程序所在的路径

你可能感兴趣的:(Java)