当前位置:首页 » 编程语言 » java遍历文件

java遍历文件

发布时间: 2022-06-18 11:15:48

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();

然后,通过每个路径来进行向下遍历,上代码(手敲,各种小错误别怪我,看思路就好):

importjava.io.File;
/**
由于本人使用了junit,请自行添加main方法测试
*/
publicclassTest{

@org.junit.Test
publicvoidtestfiles(){

File[]roots=File.listRoots();
for(Filef:roots){
System.out.println(f.getAbsolutePath());
}
listFiles(roots);

}

publicvoidlistFiles(File[]files){

if(files==null||files.length==0)return;
for(Filef:files){
if(f.isDirectory()){
System.out.println(f.getAbsolutePath());
listFiles(f.listFiles());
}else{
System.out.println(" |"+f.getName());
}
}

}


}

③ 在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 怎么遍历 文件夹下的 文件

A.不使用递归:

import java.io.File;

import java.util.LinkedList;

public class FileSystem {

public static void main(String[] args) {

long a = System.currentTimeMillis();

LinkedList list = new LinkedList();

File dir = new File("c:\\java\\");

File file[] = dir.listFiles();

for (int i = 0; i < file.length; i++) {

if (file[i].isDirectory())

list.add(file[i]);

else

System.out.println(file[i].getAbsolutePath());

}

File tmp;

while (!list.isEmpty()) {

tmp = list.removeFirst();

if (tmp.isDirectory()) {

file = tmp.listFiles();

if (file == null)

continue;

for (int i = 0; i < file.length; i++) {

if (file[i].isDirectory())

list.add(file[i]);

else

System.out.println(file[i].getAbsolutePath());

}

} else {

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

}

}

System.out.println(System.currentTimeMillis() - a);

}

}

⑤ 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("文件不存在!");

}

}

(5)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遍历一个网络目录下的所有文件

java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中。 假设指定路径为path,目标集合为fileList,遍历指定路径下的所有文件,如果是目录文件则递归调用

⑦ java遍历文件夹

主要应用递归算法

/**
*
*/
package com.dianziermu.io;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
* 遍历文件夹及其下面的所有文件夹,递归
*
* @author 点子二木
* @date 2009-6-10
* @version 1.0
*/
@SuppressWarnings("unchecked")
public class FolderIO {

static List<File> gblFoldList = new ArrayList();

/**
* @param args
*/
public static void main(String[] args) {
String path = "c:\\Program Files";// 将要搜索目录路径
System.out.println("获取"+path + "目录下所有文件夹,正在加载......");
readFolder(path);

printFolder();
}

/**
* 获取文件对象
*
* @param path
*/
private static void readFolder(String path) {

File dir = new File(path);// 建立代表Sub目录的File对象,并得到它的一个引用
if (dir.exists()) {// 检查目录是否存在
File[] dirList = dir.listFiles();// 获取该目录下所有文件和文件夹

for (int index = 0; index < dirList.length; index++) {
if (dirList[index].isDirectory()) {// 如果是文件夹
// System.out.println(dirList[index]);
gblFoldList.add(dirList[index]);
readFolder(dirList[index].getPath());// 注意:此处递归
}
}
} else {
System.out.println("该文件夹不存在");
}
}

/**
* 打印文件夹对象
*/
private static void printFolder() {
for (int index = 0; index < gblFoldList.size(); index++) {
System.out.println(gblFoldList.get(index));
}

}

}

⑧ java怎么实现遍历文件夹并压缩的功能

不考虑一个文件夹下有另外一个文件夹的情况下,代码如下

publicstaticvoidZipFolder(Filedirectory)throwsException{
FileOutputStreamfout=newFileOutputStream("输出压缩文件test.zip的位置");
ZipOutputStreamzout=newZipOutputStream(fout);
for(Filefile:directory.listFiles()){
byte[]buffer=Files.readAllBytes(file.toPath());

ZipEntryzipEntry=newZipEntry(file.getName());
zout.putNextEntry(zipEntry);
zout.write(buffer);
zout.closeEntry();
}
zout.flush();
zout.close();
}

⑨ 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里如何遍历一个文件夹获取该文件夹里的所有文件名

一个文件里不但有文件还有文件夹所以代码如下
先定义一个方法然后在main方法里调用
public void getFileName(File f){

if(f.isFile()){
System.out.println(f.getName());

}else{

List<File> l=f.listFile();
for(File file:l){
file.getFileName();
}

}

}

热点内容
自带ftp服务器好用吗 发布:2025-02-06 15:26:11 浏览:109
win7访问xp局域网 发布:2025-02-06 15:17:07 浏览:524
均线差算法 发布:2025-02-06 15:13:22 浏览:459
androidbrowser 发布:2025-02-06 15:09:49 浏览:622
勇敢的心ftp 发布:2025-02-06 15:09:03 浏览:327
php日志分析 发布:2025-02-06 15:08:19 浏览:874
36脚本大厅作者 发布:2025-02-06 14:55:53 浏览:409
买电脑配送服务器吗 发布:2025-02-06 14:54:58 浏览:243
服务器怎么删除资源 发布:2025-02-06 14:36:14 浏览:672
安卓如何设置桌面返回键 发布:2025-02-06 13:58:15 浏览:49