JAVA file列出所有文件_用Java代码列出一个目录下所有的文件
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代码列出一个目录下所有的文件相关推荐
- java 获取子文件夹_JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件...
package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要 ...
- 瑞恩面试编程题:找出一个目录下所有的文件
package jp.co.sanx.pos.event; import java.io.File; import java.io.IOException; /*** 找出一个目录下所有的文件*/ p ...
- linux面试题:删除一个目录下的所有文件,但保留一个指定文件
此题问题虽小,但是初学者还是很难给出合理的答案的!本文来自老男孩21期网络班学员 面试题:删除一个目录下的所有文件,但保留一个指定文件解答: 假设这个目录是/xx/,里面有file1,file2,fi ...
- 用bash命令得到Windows一个目录下的所有文件并且把结果输入到一个文件
方式一: 只用如下一条语句就可以了: tree/f>index.txt 放入一个文件中命名为"****.bat" 双击就会在该目录下生成一个index.txt文件,在这个文件 ...
- shell 拷贝 一个目录下的所有文件 到 另个目录下_几例实用的Shell脚本
日常工作中,经常编写一些shell命令或脚本以完成重复性操作,本文分享了最近用到的几例shell实用脚本. 1 特殊文件名的远程拷贝 服务器之间拷贝文件经常使用scp命令,其命令格式: (1)scp ...
- 获取一个目录下的所有文件
知道一个目录的路径,使用递归获取该目录下的所有文件: function rDir($filepath) { $result = array();//获取的结果保存在这个数组中 if(is_dir($f ...
- linux python whl md5,Python计算一个目录下的所有文件的md5值,在Linux系统下面
实现代码如下: #!/usr/bin/python #*-*coding:utf8*-* import os import sys import hashlib def md5sum(data): w ...
- nodejs遍历一个目录下所有的文件
这个问题是我在实际中遇到的,意思很明确,一个目录下可能还嵌套子目录,我需要遍历出该目录下所有的文件,其实思路很简单,就是利用递归的思路,定义一个函数,传入一个目录路径参数,开始遍历该目录下的文件,如果 ...
- python查找文件夹下所有文件_如何用Python实现查找/目录下的文件夹或文件,致谢...
给你各相对来说容易理解的哈 import os name=raw_input('filename:') #在这里输入你的查找值 a=os.listdir('/') #把所有/目录下的文件,目录存放入a ...
最新文章
- 为什么租号玩显示服务器忙,租号玩上号器怎么用,租号玩上号器使用教程
- Only tensors or tuples of tensors can be output from traced functions
- 架设搭建开源搜索服务器 - Sphinx/Coreseek 安裝
- mysql重启电脑提示145_MYSQL错误:Can’t open file: ‘#215;#215;#215;.MYI’ (errno: 145)修复方法...
- java中读取某路径下的文本内容
- 原型(Prototype)的场景是不支持循环依赖的
- html中怎么写jq,用jQuery替换HTML页面中的文本
- java框架谁搭建_从零开始搭建一个开发框架(Java + Hibernate + Spring + Oracle)
- zookeeper命令行操作
- VB 泛型 T 应用
- 如何针对数据进行分析
- 预测模型| 2. Nomogram文献抄读 (2): 如何建立和解读癌症预后列线图
- 人工智能学习历程---计算机视觉篇
- 第22篇-安卓手机端抓包软件VNET介绍
- 个人企业征信体系介绍
- #从零开始学HCIA起步
- 如何用python编写财务记账软件_Python实现简单的记账本功能
- 衍射极限、MTF与像素大小(1)
- java nio oio_Java NIO框架Netty教程(十四)-Netty中OIO模型(对比NIO)
- 计算机系统二进制炸弹实验报告,二进制拿炸弹实验报告完整版.doc
热门文章
- C++优化之使用emplace、emplace_back
- 【计算机视觉40例】案例36:调用CNN实现人脸检测
- 用友OA漏洞学习——test.jsp SQL注入漏洞
- 面试官:你知道Dubbo怎么做优雅上下线的吗?你:优雅上下线是啥?
- 《卡拉马佐夫兄弟》:道德权威
- dSYM-如何获取dSYM UUID并快速定位到已发布程序的crash位置(二)
- 年薪80W,Java高薪架构师成长背后血泪史
- 信息泄漏时代,如何让自己的密码更安全?
- easyui 复选框 onClickRow事件与onSelect事件与onCheck事件
- audioread函数用法(matlab)