1.File类

File类在java.io.File包中,所以要导入这个包。

File类中用到的方法:

boolean isDirectory()       测试此抽象路径名表示的文件是否是个目录

File[] listFiles()           返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件

File类中用到的常量:

public static final String separator    与系统有关的默认名称分隔符,这个字符串只表示一个字符:separatorChar

2.实现

第一种:

package com.jn.test;

import java.io.File;

public class ListFile2 {

public static void main(String[] args) {

// TODO Auto-generated method stub

File file=new File("E:\\");

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

if(temp.isDirectory()){

System.out.println(temp.toString());

}

}

}

}

结果:

E:\$RECYCLE.BIN

E:\360Downloads

E:\BaiduNetdiskDownload

E:\Dev

E:\DTLFolder

E:\eclipse

E:\KwDownload

E:\qq消息

E:\System Volume Information

E:\录屏视频

E:\谷歌浏览器

E:\迅雷下载

第二种:

package com.jn.test;

import java.io.File;

public class ListFile {

public static void main(String[] args) {

// TODO Auto-generated method stub

File file = new File("E:"+File.separator);

list(file);

}

public static void list(File file)

{

if(file.isDirectory())//判断file是否是目录

{

File [] lists = file.listFiles();

if(lists!=null)

{

for(int i=0;i

{

list(lists[i]);//是目录就递归进入目录内再进行判断

}

}

}

System.out.println(file);//file不是目录,就输出它的路径名,这是递归的出口

}

}

结果:(列出所有文件)

E:\qq消息\All Users\QQ\Misc\QQSkin\21647

E:\qq消息\All Users\QQ\Misc\QQSkin\22880\preview.png

E:\qq消息\All Users\QQ\Misc\QQSkin\22880\skin.png

E:\qq消息\All Users\QQ\Misc\QQSkin\22880

E:\qq消息\All Users\QQ\Misc\QQSkin\23039\preview.png

E:\qq消息\All Users\QQ\Misc\QQSkin\23039\skin.png

E:\qq消息\All Users\QQ\Misc\QQSkin\23039

E:\qq消息\All Users\QQ\Misc\QQSkin\23848\preview.png

E:\qq消息\All Users\QQ\Misc\QQSkin\23848\skin.png

E:\qq消息\All Users\QQ\Misc\QQSkin\23848

E:\qq消息\All Users\QQ\Misc\QQSkin\23941\preview.png

E:\qq消息\All Users\QQ\Misc\QQSkin\23941

E:\qq消息\All Users\QQ\Misc\QQSkin\23947\preview.png

E:\qq消息\All Users\QQ\Misc\QQSkin\23947\skin.png

E:\qq消息\All Users\QQ\Misc\QQSkin\23947

E:\qq消息\All Users\QQ\Misc\QQSkin\23977\preview.png

E:\qq消息\All Users\QQ\Misc\QQSkin\23977\skin.png

E:\qq消息\All Users\QQ\Misc\QQSkin\23977

E:\qq消息\All Users\QQ\Misc\QQSkin\25007\preview.png

E:\qq消息\All Users\QQ\Misc\QQSkin\25007\skin.png

E:\qq消息\All Users\QQ\Misc\QQSkin\25007

E:\qq消息\All Users\QQ\Misc\QQSkin\304372269\tabBkg.png

E:\qq消息\All Users\QQ\Misc\QQSkin\304372269

E:\qq消息\All Users\QQ\Misc\QQSkin\314668691\tabBkg.png

E:\qq消息\All Users\QQ\Misc\QQSkin\859A53E11EBB21003FC612D5DA2ABD4A\skin.png

E:\qq消息\All Users\QQ\Misc\QQSkin\859A53E11EBB21003FC612D5DA2ABD4A

E:\qq消息\All Users\QQ\Misc\QQSkin\AC3F8F1D8C0DF36D666D082F79B69D48\AC3F8F1D8C0DF36D666D082F79B69D48.zip

E:\qq消息\All Users\QQ\Misc\QQSkin\AC3F8F1D8C0DF36D666D082F79B69D48\config.xml

E:\qq消息\All Users\QQ\Misc\QQSkin\AC3F8F1D8C0DF36D666D082F79B69D48\skin.png

E:\qq消息\All Users\QQ\Misc\QQSkin\AC3F8F1D8C0DF36D666D082F79B69D48

E:\qq消息\All Users\QQ\Misc\QQSkin

E:\qq消息\All Users\QQ\Misc

E:\qq消息\All Users\QQ\Perfre.db

E:\qq消息\All Users\QQ\Registry.db

E:\qq消息\All Users\QQ\Registry2.0.db

E:\qq消息\All Users\QQ\Registry2.0.db-journal

E:\qq消息\All Users\QQ

E:\qq消息\All Users\Registry.db

E:\qq消息\All Users

E:\qq消息

E:\System Volume Information

E:\录屏视频\bandicam 2017-08-29 10-32-29-067.mp4

E:\录屏视频\bandicam 2017-08-29 14-03-26-571.mp4

E:\录屏视频\bandicam 2017-08-29 15-11-19-761.mp4

E:\录屏视频\bandicam 2017-08-30 08-35-23-568.mp4

E:\录屏视频\bandicam 2017-08-30 09-29-16-654.mp4

E:\录屏视频\bandicam 2017-08-31 08-34-29-789.mp4

E:\录屏视频\新建文件夹\2017-8-15 11-41-8.ASF

E:\录屏视频\新建文件夹\2017-8-16 10-27-33.ASF

E:\录屏视频\新建文件夹\对象-封装-继承

E:\录屏视频\新建文件夹

E:\录屏视频

E:\谷歌浏览器\staruml\Untitled.uml

E:\谷歌浏览器\staruml\Untitled.uml2.uml

E:\谷歌浏览器\staruml\Untitled.uml3.uml

E:\谷歌浏览器\staruml\Untitled.uml4.uml

E:\谷歌浏览器\staruml

E:\谷歌浏览器

E:\迅雷下载

E:\

3.补充

在temp目录下建立一个test.txt文件,在Windows下应该这么写:

File file1 = new File ("C:\tmp\test.txt");

在Linux下则是这样的:

File file2 = new File ("/tmp/test.txt");

如果要考虑跨平台,则最好是这么写:

File myFile = new File("C:" + File.separator + "tmp" + File.separator, "test.txt");

File类有几个类似separator的静态字段,都是与系统相关的,在编程时应尽量使用。

separatorChar

public static final char separatorChar

与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 '/';在 Microsoft Windows 系统上,它为 '\'。

separator

public static final String separator

与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 separatorChar。

pathSeparatorChar

public static final char pathSeparatorChar

与系统有关的路径分隔符。此字段被初始为包含系统属性 path.separator 值的第一个字符。此字符用于分隔以路径列表 形式给定的文件序列中的文件名。在 UNIX 系统上,此字段为 ':';在 Microsoft Windows 系统上,它为 ';'。

pathSeparator

public static final String pathSeparator

与系统有关的路径分隔符,为了方便,它被表示为一个字符串。此字符串只包含一个字符,即 pathSeparatorChar。

JAVA file列出所有文件_用Java代码列出一个目录下所有的文件相关推荐

  1. java 获取子文件夹_JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件...

    package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要 ...

  2. 瑞恩面试编程题:找出一个目录下所有的文件

    package jp.co.sanx.pos.event; import java.io.File; import java.io.IOException; /*** 找出一个目录下所有的文件*/ p ...

  3. linux面试题:删除一个目录下的所有文件,但保留一个指定文件

    此题问题虽小,但是初学者还是很难给出合理的答案的!本文来自老男孩21期网络班学员 面试题:删除一个目录下的所有文件,但保留一个指定文件解答: 假设这个目录是/xx/,里面有file1,file2,fi ...

  4. 用bash命令得到Windows一个目录下的所有文件并且把结果输入到一个文件

    方式一: 只用如下一条语句就可以了: tree/f>index.txt 放入一个文件中命名为"****.bat" 双击就会在该目录下生成一个index.txt文件,在这个文件 ...

  5. shell 拷贝 一个目录下的所有文件 到 另个目录下_几例实用的Shell脚本

    日常工作中,经常编写一些shell命令或脚本以完成重复性操作,本文分享了最近用到的几例shell实用脚本. 1 特殊文件名的远程拷贝 服务器之间拷贝文件经常使用scp命令,其命令格式: (1)scp ...

  6. 获取一个目录下的所有文件

    知道一个目录的路径,使用递归获取该目录下的所有文件: function rDir($filepath) { $result = array();//获取的结果保存在这个数组中 if(is_dir($f ...

  7. linux python whl md5,Python计算一个目录下的所有文件的md5值,在Linux系统下面

    实现代码如下: #!/usr/bin/python #*-*coding:utf8*-* import os import sys import hashlib def md5sum(data): w ...

  8. nodejs遍历一个目录下所有的文件

    这个问题是我在实际中遇到的,意思很明确,一个目录下可能还嵌套子目录,我需要遍历出该目录下所有的文件,其实思路很简单,就是利用递归的思路,定义一个函数,传入一个目录路径参数,开始遍历该目录下的文件,如果 ...

  9. python查找文件夹下所有文件_如何用Python实现查找/目录下的文件夹或文件,致谢...

    给你各相对来说容易理解的哈 import os name=raw_input('filename:') #在这里输入你的查找值 a=os.listdir('/') #把所有/目录下的文件,目录存放入a ...

最新文章

  1. 为什么租号玩显示服务器忙,租号玩上号器怎么用,租号玩上号器使用教程
  2. Only tensors or tuples of tensors can be output from traced functions
  3. 架设搭建开源搜索服务器 - Sphinx/Coreseek 安裝
  4. mysql重启电脑提示145_MYSQL错误:Can’t open file: ‘#215;#215;#215;.MYI’ (errno: 145)修复方法...
  5. java中读取某路径下的文本内容
  6. 原型(Prototype)的场景是不支持循环依赖的
  7. html中怎么写jq,用jQuery替换HTML页面中的文本
  8. java框架谁搭建_从零开始搭建一个开发框架(Java + Hibernate + Spring + Oracle)
  9. zookeeper命令行操作
  10. VB 泛型 T 应用
  11. 如何针对数据进行分析
  12. 预测模型| 2. Nomogram文献抄读 (2): 如何建立和解读癌症预后列线图
  13. 人工智能学习历程---计算机视觉篇
  14. 第22篇-安卓手机端抓包软件VNET介绍
  15. 个人企业征信体系介绍
  16. #从零开始学HCIA起步
  17. 如何用python编写财务记账软件_Python实现简单的记账本功能
  18. 衍射极限、MTF与像素大小(1)
  19. java nio oio_Java NIO框架Netty教程(十四)-Netty中OIO模型(对比NIO)
  20. 计算机系统二进制炸弹实验报告,二进制拿炸弹实验报告完整版.doc

热门文章

  1. C++优化之使用emplace、emplace_back
  2. 【计算机视觉40例】案例36:调用CNN实现人脸检测
  3. 用友OA漏洞学习——test.jsp SQL注入漏洞
  4. 面试官:你知道Dubbo怎么做优雅上下线的吗?你:优雅上下线是啥?
  5. 《卡拉马佐夫兄弟》:道德权威
  6. dSYM-如何获取dSYM UUID并快速定位到已发布程序的crash位置(二)
  7. 年薪80W,Java高薪架构师成长背后血泪史
  8. 信息泄漏时代,如何让自己的密码更安全?
  9. easyui 复选框 onClickRow事件与onSelect事件与onCheck事件
  10. audioread函数用法(matlab)