java遍歷文件,java遍歷文件如何排序

本文目錄一覽:

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;if.length;i++){\x0d\x0aprint(f[i]) ;// 因為給的路徑有可能是目錄,所以,繼續判斷\x0d\x0a}\x0d\x0a}\x0d\x0a}else{\x0d\x0aSystem.out.println(file) ;// 輸出路徑\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a};

在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上添加節點,可以做到和資源管理器中一樣的結構。

JAVA7如何遍歷一個目錄下的所有文件,如何知

1.遍曆本目錄下所有的文件(不包括目錄的目錄里的文件)

import java.io.File;public class main { public static void main(String[] args) { String path = “D:\\JAVA”; //要遍歷的路徑 File file = new File(path); //獲取其file對象 File[] fs = file.listFiles(); //遍歷path下的文件和目錄,放在File數組中 for(File f:fs){ //遍歷File[]數組 if(!f.isDirectory()) //若非目錄(即文件),則列印 System.out.println(f); } }}

運行結果:

列印出 D:/JAVA下的全部文件(包括D:/JAVA下的目錄下的文件)

1.遍曆本目錄下所有的文件(包括目錄的目錄里的文件)

import java.io.File;import java.io.FileFilter;public class FileText { public static void main(String[] args) { String path = “D:\\JAVA”; //要遍歷的路徑 File file = new File(path); //獲取其file對象 func(file); } private static void func(File file){ File[] fs = file.listFiles(); for(File f:fs){ if(f.isDirectory()) //若是目錄,則遞歸列印該目錄下的文件 func(f); if(f.isFile()) //若是文件,直接列印 System.out.println(f); } }}

列印結果:

列印所有文件

用java怎麼遍歷磁碟上的所有文件

首先,我們需要獲取磁碟中所有的盤符路徑:jdk6中一個方法搞定:

File [] roots = File.listRoots();

然後,通過每個路徑來進行向下遍歷,上代碼(手敲,各種小錯誤別怪我,看思路就好):

import java.io.File;

/**

由於本人使用了junit,請自行添加main方法測試

*/

public class Test{

@org.junit.Test

public void testfiles(){

File [] roots = File.listRoots();

for(File f:roots){

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

}

listFiles(roots);

}

public void listFiles(File[] files){

if(files==null||files.length==0)return;

    for(File f : files){

     if(f.isDirectory()){

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

     listFiles(f.listFiles());

     }else{

     System.out.println(“\t|”+f.getName());

     }

    }

}

}

java文件夾目錄遍歷卡頓

java文件夾目錄遍歷卡頓,是因為程序運行錯誤導致程序死循環而導致的。在按下top 命令後 按下m鍵,再觀察進程下CPU和MEM的百分比,選中運行的大面積佔比的文件,就可以結束卡頓了。

javaswing遍歷文件

讀取文件的示例:

BufferedReader br = null;

try {

   File f = new File(“data.txt”);

   Reader fr = new FileReader(f);

   br = new BufferedReader(fr);

   String line = null;

   while ((line = br.readLine()) != null) {// 按行讀取

      names.add(line);

   }

   br.close();

   fr.close();

} catch (IOException e) {

   e.printStackTrace();

} finally {

   if (br != null) try {

      br.close();

   } catch (IOException e) {}

}

寫入文件示例:

FileWriter fw = null;

try {

   File f = getNotesFile();

   fw = new FileWriter(f);

   fw.write(“數據行一\r\n”);

   fw.write(“數據行二\r\n”);

   fw.flush();

} catch (IOException e) {

   e.printStackTrace();

} finally {

   try {

      if (fw != null) fw.close();

   } catch (IOException e) {}

}

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-21 13:03
下一篇 2024-12-21 13:03

相關推薦

發表回復

登錄後才能評論