java實現遍歷文件,java遍歷文件的時候怎麼按大小排序

本文目錄一覽:

在java中如何遍歷某個路徑下的所有文件夾和文件

首先,我們先來遍歷一下D盤根目錄下所有的子文件:public

static

void

fileList()

{

File

file=new

File(“d:/”);

File[]

files

=

file.listFiles();

if

(files

!=

null)

{

for

(File

f

:

files)

{

System.out.println(f.getPath());

}

}

}對此,我們肯定不滿足,我們需要遍歷D盤下所有的文件和文件夾,而不是根目錄下的文件夾,這個時候我們需要使用到遞歸:public

static

void

fileList(File

file)

{

File[]

files

=

file.listFiles();

if

(files

!=

null)

{

for

(File

f

:

files)

{

System.out.println(f.getPath());

fileList(f);

}

}

}然後在主函數中調用:public

static

void

main(String[]

args)

{

File

file=new

File(“d:/”);

fileList(file);

}結果是不是能令你滿意呢?顯然,輸出的都是全路徑,我們可以對我們的遞歸函數做如下改進:

public

static

void

fileList(File

file,int

node)

{

node++;

File[]

files

=

file.listFiles();

if

(files

!=

null)

{

for

(File

f

:

files)

{

for(int

i=0;inode;i++){

if(i==node-1){

System.out.print(“├”);

}

else{

System.out.print(“

“);

}

}

System.out.println(f.getName());

fileList(f,node);

}

}

}然後再次在主函數中調用:public

static

void

main(String[]

args)

{

File

file=new

File(“d:/”);

fileList(file,0);

}得到的結果是一個類似樹狀的結構,如果你對此還不滿意,可以嘗試給JTree上添加節點,可以做到和資源管理器中一樣的結構。

java遍歷指定文件夾下的所有子文件夾怎麼操作?

import java.io.File ;\x0d\x0aimport java.io.IOException ;\x0d\x0apublic class FileDemo11{\x0d\x0apublic static void main(String args[]){\x0d\x0aFile my = new File(“d:” + File.separator) ;// 操作路徑,可以有外部參數決定的\x0d\x0aprint(my) ;\x0d\x0a}\x0d\x0apublic static void print(File file){// 遞歸調用\x0d\x0aif(file!=null){// 判斷對象是否為空\x0d\x0aif(file.isDirectory()){// 如果是目錄\x0d\x0aFile f[] = file.listFiles() ;// 列出全部的文件\x0d\x0aif(f!=null){// 判斷此目錄能否列出\x0d\x0afor(int i=0;i

回答於 2022-11-15

JAVA遍歷一個文件夾中的所有文件—(遞歸)

public void traverseFolder2(String path) {

File file = new File(path);      

if (file.exists()) {

File[] files = file.listFiles();          

if (null == files || files.length == 0) {

System.out.println(“文件夾是空的!”);              

return;

} else {              

for (File file2 : files) {                  

if (file2.isDirectory()) {

System.out.println(“文件夾:” + file2.getAbsolutePath());

traverseFolder2(file2.getAbsolutePath());

} else {

System.out.println(“文件:” + file2.getAbsolutePath());

}

}

}

} else {

System.out.println(“文件不存在!”);

}

}

擴展資料

public void traverseFolder1(String path) {      

int fileNum = 0, folderNum = 0;

File file = new File(path);      

if (file.exists()) {

LinkedListFile list = new LinkedListFile();

File[] files = file.listFiles();          

for (File file2 : files) {              

if (file2.isDirectory()) {

System.out.println(“文件夾:” + file2.getAbsolutePath());

list.add(file2);                  

foldeNum++;

} else {

System.out.println(“文件:” + file2.getAbsolutePath());

fileNum++;

}

}

File temp_file;          

while (!list.isEmpty()) {

temp_file = list.removeFirst();

files = temp_file.listFiles();              

for (File file2 : files) {                  

if (file2.isDirectory()) {

System.out.println(“文件夾:” + file2.getAbsolutePath());

list.add(file2);

folderNum++;

} else {

System.out.println(“文件:” + file2.getAbsolutePath());

fileNum++;

}

}

}

} else {

System.out.println(“文件不存在!”);

}

System.out.println(“文件夾共有:” + folderNum + “,文件共有:” + fileNum);

}

參考資料:百度百科 Java

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/271997.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-17 00:07
下一篇 2024-12-17 00:08

相關推薦

發表回復

登錄後才能評論