【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.pswp.cn/news/384689.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/384689.shtml
英文地址,請注明出處:http://en.pswp.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…