本文目錄一覽:
- 1、java遍歷指定文件夾下的所有子文件夾怎麼操作?
- 2、在java中如何遍歷某個路徑下的所有文件夾和文件
- 3、JAVA7如何遍歷一個目錄下的所有文件,如何知
- 4、用java怎麼遍歷磁碟上的所有文件
- 5、java文件夾目錄遍歷卡頓
- 6、javaswing遍歷文件
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