「javaif遍历」java 遍历

博主:adminadmin 2022-11-21 17:01:06 90

本篇文章给大家谈谈javaif遍历,以及java 遍历对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java怎么遍历一个盘下的所有文件

用递归算法,递归可以理解成自己调用自己,但要有终止条件

首先是判断这个是文件还是文件夹。文件的话就处理文件;文件夹的话,列出里面的文件,再对每一个文件做同样的判断处理

下面是删除一个文件夹(改成列出所有文件的话,你把删除操作改成放入集合操作),所有删除都是只能删除一个文件或者是空文件夹,所以遇到文件夹就得把里面的文件全部删除

private static void deleteFile(File file) {

if (!file.exists())

return;

System.out.print("删除===");

if (file.isFile()) {

System.out.println("文件:" + file);

file.delete();

} else {

System.out.println("文件夹:" + file);

for (File f : file.listFiles()) {

deleteFile(f);

}

file.delete();

}

}

同理(Node是自己定义的类,主要包含了name(String),children (ListNode)这两个属性来表达层级):

遍历了这个文件夹之后返回这个文件夹的Node作为上一个文件加的children之一,这就把文件夹的层级结构列出来了,当然你也可以用Map来存储这些数据

          /**

 * 列出文件目录结构

 * 

 * @param folder

 * @param fnf

 * @return

 */

private static Node lsFiles(File folder) {

Node n = new Node();

n.setName(folder.getName());

n.setPath(folder.getAbsolutePath());

if (folder.isFile()) {

n.setLeaf(true);

n.setSize(folder.length());

} else {

n.setLeaf(false);

File[] folders = folder.listFiles();//列出文件夹底下的文件

for (File file : folders) {//遍历每个文件做相同操作

Node cn = lsFiles(file);

n.getChildren().add(cn);

n.setSize(n.getSize() + cn.getSize());

}

}

return n;

}

下面是不分层次结构来列出所有文件(纯手写,可能有语法错误)

          /**

 * 列出文件路径

 * 

 * @param folder

 * @param fnf

 * @return

 */

private static ListString lsFiles(File folder) {

 ListString l=new ArrayListString();

 l.add(folder.getAbsolutePath());

if (folder.isFile()) {

//处理file

} else {

File[] folders = folder.listFiles();

for (File file : folders) {

l.addAll(lsFiles(file));

}

}

return l;

}

效果

「javaif遍历」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;i

回答于 2022-11-15

在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循环遍历数据库返回的一列值,用IF语句判断所有值中与当前的变量是否相等 完整代码写出

注:for (GoodsBean goods : list)是对链表进行循环遍历

spid--商品ID,spmch--商品名称

这个例子是我从现在做的一个购物车的例子里抽出来的一部分,可以运行,你试试 ,呵呵

/**

* 判断一个list里某个字段是否全相等

* @param list

* @return

*/

public static boolean isEqual(ListGoodsBean list) {

ListString listid = new ArrayListString();

for (GoodsBean goods : list) {

String spid = goods.getSpid();

listid.add(spid);

}

if (listid != null) {

String firstspid = listid.get(0);

for (String spid : listid) {

if (!spid.equals(firstspid)) {

System.out.println("有一个不相等,返回false");

return false;

}

}

return true; //循环完没有找到相等的返回true

}

return false; //为空返回false

}

GoosBean是存放在List里的一个javabean

public class GoodsBean implements Serializable{

/**

*

*/

private static final long serialVersionUID = 1437224000720087048L;

private String spid;

private String spmch;

// 构造方法

public GoodsBean(String spid, String spmch) {

this.spid = spid;

this.spmch = spmch;

}

public GoodsBean() {

}

// 一般方法

public String getSpid() {

return spid;

}

public void setSpid(String spid) {

this.spid = spid;

}

public String getSpmch() {

return spmch;

}

public void setSpmch(String spmch) {

this.spmch = spmch;

}

}

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

打印结果:

打印所有文件

javaif遍历的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 遍历、javaif遍历的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。