java遍歷文件夾文件
Ⅰ java遍歷指定文件夾下的所有子文件夾怎麼操作
import java.io.File ;
import java.io.IOException ;
public class FileDemo11{
public static void main(String args[]){
File my = new File("d:" + File.separator) ;// 操作路徑,可以有外部參數決定的
print(my) ;
}
public static void print(File file){// 遞歸調用
if(file!=null){// 判斷對象是否為空
if(file.isDirectory()){// 如果是目錄版
File f[] = file.listFiles() ;// 列出全部的文件權
if(f!=null){// 判斷此目錄能否列出
for(int i=0;i<f.length;i++){
print(f[i]) ;// 因為給的路徑有可能是目錄,所以,繼續判斷
}
}
}else{
System.out.println(file) ;// 輸出路徑
}
}
}
};
Ⅱ 在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;i<node;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遍歷一個文件夾中的所有文件---(遞歸)
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("文件不存在!");
}
}
(3)java遍歷文件夾文件擴展閱讀
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedList<File> list = new LinkedList<File>();
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遍歷文件夾下所有文件包括子目錄及文件放到json中後台代碼
import java.io.File;
import net.sf.json.JSON;
import net.sf.json.JSONObject;
public class fileTest {
public static void main(String[] args) throws Exception {
File file= new File("你文件夾的路徑");
showAllFiles(file);
}
final static void showAllFile(File dir) throws Exception{
File[] fs = dir.listFiles();
for(int i=0; i<fs.length; i++){
System.out.println(fs[i].getAbsolutePath());
if(fs[i].isDirectory()){
try{
JSON json2 = net.sf.json.JSONSerializer.toJSON(fs[i]);
json.element("item", json2);
showAllFile(fs[i]);
}catch(Exception e){}
}
}
}
}
Ⅳ java中遍歷文件夾
import java.io.File;
public class Test {
public static void main(String[] args) throws Exception {
//遞歸顯示來C盤下自所有文件夾及其中文件
File root = new File("c:");
showAllFiles(root);
}
final static void showAllFiles(File dir) throws Exception{
File[] fs = dir.listFiles();
for(int i=0; i<fs.length; i++){
System.out.println(fs[i].getAbsolutePath());
if(fs[i].isDirectory()){
try{
showAllFiles(fs[i]);
}catch(Exception e){}
}
}
}
}
打字不易,如滿意,望點贊。
Ⅵ java怎麼循環讀取目錄下的文件內容
JAVA 遍歷文件夾下的所有文件(遞歸調用和非遞歸調用)
1.不使用遞歸的方法調用。
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedList<File> list = new LinkedList<File>();
File[] files = file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夾:" + file2.getAbsolutePath());
list.add(file2);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
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);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
}
} else {
System.out.println("文件不存在!");
}
System.out.println("文件夾共有:" + folderNum + ",文件共有:" + fileNum);
}
2.使用遞歸的方法調用
public static List<File> getFileList(String strPath) {
File dir = new File(strPath);
File[] files = dir.listFiles(); // 該文件目錄下文件全部放入數組
if (files != null) {
for (int i = 0; i < files.length; i++) {
String fileName = files[i].getName();
if (files[i].isDirectory()) { // 判斷是文件還是文件夾
getFileList(files[i].getAbsolutePath()); // 獲取文件絕對路徑
} else if (fileName.endsWith("avi")) { // 判斷文件名是否以.avi結尾
String strFileName = files[i].getAbsolutePath();
System.out.println("---" + strFileName);
filelist.add(files[i]);
} else {
continue;
}
}
}
return filelist;
}
Ⅶ 求一段JAVA代碼 遍歷文件夾下的文件 並將所有.java文件寫入一個文件內
File[]files=file.listFiles();
File java=new File(file.getAbsolutPath()+"\java");
java.mkdir():
for(int i=0;i<files.length;i++){
if(files[i].getAbsolutpath().endsWith(".java"))
File javaFile=new File(files[i].getAbsolutPath())
//將javaFile寫到java文件抄夾中,再在當前目錄下刪除該文件
}
Ⅷ java中怎樣獲得一個文件夾中的所有文件名
java中獲得一個文件夾中的所有文件名代碼如下:
packagecom.readfile;
importjava.io.File;publicclassGetAllFiles {
publicstaticvoidmain(String[] args) {
//路徑 這里寫一個路徑進去
String path="F:\QQ文檔";
//調用方法
getFiles(path);
}
/**
* 遞歸獲取某路徑下的所有文件,文件夾,並輸出
*/
publicstaticvoidgetFiles(String path) {
File file =newFile(path);
// 如果這個路徑是文件夾
if(file.isDirectory()) {
// 獲取路徑下的所有文件
File[] files = file.listFiles();
for(inti =0; i < files.length; i++) {
// 如果還是文件夾 遞歸獲取裡面的文件 文件夾
if(files[i].isDirectory()) {
System.out.println("目錄:"+ files[i].getPath());
getFiles(files[i].getPath());
}else{
System.out.println("文件:"+ files[i].getPath());
}
}
}else{
System.out.println("文件:"+ file.getPath());
}
}
}
(8)java遍歷文件夾文件擴展閱讀:
如果想要獲得當前文件中的文件名只需要String [] fileName = file.list();就可以了。
如果要包括文件中的文件名就可以用遞歸的方式。下面是兩個具體的實現。
其中public static String [] getFileName(String path)是只得到當前文件中的文件名。
public static void getAllFileName(String path,ArrayList<String> fileName)是包括當前文件及其子文件的文件名。
Ⅸ java 怎麼遍歷 文件夾下的 文件
Filefile=newFile("dir");
//獲取目錄下的文件/目錄
File[]subFiles=file.listFiles();
Ⅹ java 循環讀取文件夾裡面的文件
JAVA 遍歷文件夾下的所有文件(遞歸調用和非遞歸調用)
1.不使用遞歸的方法調用。
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedList<File> list = new LinkedList<File>();
File[] files = file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夾:" + file2.getAbsolutePath());
list.add(file2);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
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);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
}
} else {
System.out.println("文件不存在!");
}
System.out.println("文件夾共有:" + folderNum + ",文件共有:" + fileNum);
}
2.使用遞歸的方法調用
public static List<File> getFileList(String strPath) {
File dir = new File(strPath);
File[] files = dir.listFiles(); // 該文件目錄下文件全部放入數組
if (files != null) {
for (int i = 0; i < files.length; i++) {
String fileName = files[i].getName();
if (files[i].isDirectory()) { // 判斷是文件還是文件夾
getFileList(files[i].getAbsolutePath()); // 獲取文件絕對路徑
} else if (fileName.endsWith("avi")) { // 判斷文件名是否以.avi結尾
String strFileName = files[i].getAbsolutePath();
System.out.println("---" + strFileName);
filelist.add(files[i]);
} else {
continue;
}
}
}
return filelist;
}