【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文件所在的目录。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/384689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机思维】面向人的开发 站在巨人的肩膀上

思维转变&#xff1a;使用其他程序员开发的“黑箱”&#xff0c;不要重复造轮子 以Java举例&#xff0c;从常用的集合框架开始&#xff0c;我们要产生新的思维转变了&#xff0c;我们已经学会了基本的功能&#xff0c;但是在真正开发的时候&#xff0c;用基础功能去做开发效率…

【Computer Organization】The Core Design Thinking of single cycle CPU

1 Overview This section introduces someting that maybe you need to know before learning. Note:This CPU is based on MIPS instruction set. 1.1 Tools LogisimCS 3410 ComponentsMARS MIPS simulatorWin10 or Mac OS 1.2 Courses 自己动手画CPU《计算机组织与结构实…

【汇编语言】王爽 - 内中断复习

0 前言 基于王爽《汇编语言》和Coursera的《计算机组成》课程。 1 中断分类 CPU在执行指令的过程中&#xff0c;产生了一个异常/中断&#xff0c;因为CPU只能同时执行一条指令&#xff0c;所以需要暂停该指令的执行&#xff0c;转而去处理异常/中断信息。 这个异常可以来…

【算法】蛮力法/穷举法/枚举法 的基本问题分析

炮兵问题的优化&#xff0c;设立逻辑数组 蛮力法设计思想 有策略地穷举 验证 制定穷举策略避免重复 简单来说&#xff0c;就是列举问题所有可能的解&#xff0c;然后去看看是否满足题目要求&#xff0c;是一种逆向解题方式。&#xff08;我也不知道答案是什么&#xff0c;…

如何高效学习算法【实例 + 可视化】

对于初学者来说&#xff0c;学习算法&#xff0c;不应该先学习抽象的理论&#xff0c;那样没有感觉&#xff0c;越学越晕&#xff0c;应该&#xff1a; 有具体的例子有可视化过程 同时需要结合理论知识对照学习&#xff0c;理论扎实、实践有效&#xff0c;同时要有结果反馈。…

【计算机网络实验·北航】实验一:网络实验入门(1)

1.3 远程在线环境使用 PCA、PCB、PCC和PCD&#xff1a;4台PC机S1、S2&#xff1a;2台交换机R1、R2&#xff1a;2台路由器中间的设备&#xff1a;组网连线器 远程组网连线&#xff1a; 使用PCA上的组网连线软件&#xff0c;配置组网连线器&#xff0c;实现组网连线。 PCA和PCB…

【C++】int与string转换

头文件&#xff1a;<string>&#xff0c;注意&#xff0c;这与<string.h>、<cstring>不是一回事儿语法&#xff1a;int x to_string(str)&#xff0c;其中string str "1"。

【C++】rand函数的基本使用

rand()函数用于生成伪随机数&#xff0c;每次生成的随机数都不变&#xff0c;方便我们调试程序。 重要是的随机数的范围公式&#xff08;适用整数&#xff09; 公式&#xff1a; 确定范围加偏移量 例如&#xff1a;a和b是整数 [a,b]&#xff0c;范围是b - a 1&#xff0c…

【操作系统】虚拟化CPU、Memory,共享文件

几个概念 CPU、虚拟CPU进程内存、虚拟地址空间 物理的CPU被OS虚拟成了多个虚拟的CPU&#xff0c;这些虚拟CPU分别运行各自的程序&#xff0c;这些正在运行的程序被称为进程。物理内存被OS虚拟成了多个虚拟地址空间&#xff0c;每个进程都有独立的、自己的地址空间&#xff0c;…

【Linux】编译C语言文件(-o -lpthread)

在gcc中使用-o编译 对于一个一般的程序&#xff0c;直接使用gcc <C语言文件名> -o <编译后生成的文件名>即可&#xff0c;例如以下程序&#xff1a; // cpu.c #include <stdio.h> #include <unistd.h> #include <stdlib.h>int main(int argc,…

【Linux】Ubuntu下进行C语言编程

前言 需要您会使用Windows下cd切换目录的基本命令&#xff0c;否则请先自学相关知识&#xff0c;之后再阅读本文。 0 基础命令 介绍最基础的Linux终端命令。 su - root&#xff1a;切换到root用户&#xff08;不用也可以&#xff09;ls&#xff1a;查看当前目录位置cd&…

【Linux】Ubuntu 18下安装Vim自动补全插件YouCompleteMe(可高速下载安装)

前言 本文写于2020年10月&#xff0c;如果你多年后看见这篇文章&#xff0c;方法可能已经失效&#xff0c;但是请牢记&#xff0c;尽量下载你所处时代的最新版本的软件&#xff0c;会减少很多麻烦。 摆正心态 即便按照本文操作&#xff0c;由于你的系统状态和我的不一样&…

【操作系统】进程调度(1):FIFO(先进先出)算法 原理与实践

0 前言 本文基于书籍《Operating System&#xff1a;Three Easy Pieces》。 中译本&#xff1a;《操作系统导论》&#xff0c;中译本质量还可以&#xff0c;但是英文版后来的更新&#xff0c;中文版目前没有进行同步更新&#xff08;写下此文的时间是2020年10月&#xff09; 1…

【操作系统】进程调度(2a):SJF(短任务优先) 算法 原理与实践

0 前言 接上一篇文章&#xff1a;进程调度&#xff08;1&#xff09;&#xff1a;FIFO&#xff08;先进先出&#xff09;算法 原理与实践 1 前提铺垫 请参考上一篇文章的前提铺垫部分&#xff0c;本文与之完全一致。 2 SJF 原理 SJF&#xff08;Shortest Job First&#x…

【操作系统】进程调度(2b):STCF(最短完成时间优先) 算法 原理与实践

0 前言 接上一篇文章&#xff1a;进程调度&#xff08;2a&#xff09;&#xff1a;SJF&#xff08;短任务优先&#xff09; 算法 原理与实践 1 前提铺垫 与上一篇同。 2 STCF 原理 STCF&#xff08;Shortest Time-to-Completion First&#xff09;最短完成时间优先。 2.1…

【操作系统】进程调度(3):RR(轮转) 算法 原理与实践

0 前言 接上一篇文章&#xff1a;进程调度&#xff08;2b&#xff09;&#xff1a;STCF&#xff08;最短完成时间优先&#xff09; 算法 原理与实践 1 前提铺垫 除了与上一篇相同的&#xff0c;这里介绍新的基础知识。 1.1 三种类型的程序 计算密集型&#xff08;CPU导向&…

【操作系统】进程调度(4):I/O、不可预测的运行时间

0 前言 上一篇文章&#xff1a;进程调度&#xff08;3&#xff09;&#xff1a;RR&#xff08;轮转&#xff09; 算法 原理与实践 1 前提铺垫 与上一篇同。 2 引入I/O操作 之前我们一直提及的是计算密集型程序&#xff0c;现在我们的程序可以进行I/O交互了&#xff0c;它会…

坚定不移地加速,并且不断解决新问题

想要更快更高效地做事&#xff0c;一定会带来问题&#xff0c;我们要做的是 保证事情一定要做对坚定不移地解决问题&#xff0c;寻找方法&#xff0c;而不是回归慢速 这里有几个典型的例子 从单周期CPU&#xff0c;到多周期CPU&#xff0c;是为了提速&#xff0c;我们不必再…

运行bat批处理文件不出现黑框

if "%1""hide" goto CmdBegin start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit :CmdBegin echo off java -jar logisim118.exe exit 只需要添加上述代…

【操作系统】使用循环创建线程,一个手残导致的bug

让我们先看看这个手残的程序…… 这是一个简单的生产者消费者问题。 #include <assert.h> #include <stdio.h> #include <stdlib.h> #include <assert.h> #include <unistd.h> #include <pthread.h> #include <sys/types.h> #incl…