package educhinasoftwtf;
import javaioFile;
/
@author :wtf
@version 创建时间:2018年3月5日 上午9:59:05
类说明:该类可以输出指定路径下所有的文件名(文件名和文件夹名)
指定一个路径即可
/
public class printURL {
public static void main(String[] args) {
//这是需要获取的文件夹路径 这里填写你的文件路径 注意 / 与 \
String path = "E:/";
getFile(path,0);
}
/
函数名:getFile
作用:使用递归,输出指定文件夹内的所有文件
参数:path:文件夹路径 deep:表示文件的层次深度,控制前置空格的个数
前置空格缩进,显示文件层次结构
/
private static void getFile(String path,int deep){
// 获得指定文件对象
File file = new File(path);
// 获得该文件夹内的所有文件
File[] array = filelistFiles();
for(int i=0;i<arraylength;i++)
{
if(array[i]isFile())//如果是文件
{
for (int j = 0; j < deep; j++)//输出前置空格
Systemoutprint(" ");
// 只输出文件名字
Systemoutprintln( array[i]getName());
// 输出当前文件的完整路径
// Systemoutprintln("#####" + array[i]);
// 同样输出当前文件的完整路径 大家可以去掉注释 测试一下
// Systemoutprintln(array[i]getPath());
}
else if(array[i]isDirectory())//如果是文件夹
{
for (int j = 0; j < deep; j++)//输出前置空格
Systemoutprint(" ");
Systemoutprintln( array[i]getName());
//Systemoutprintln(array[i]getPath());
//文件夹需要调用递归 ,深度+1
getFile(array[i]getPath(),deep+1);
}
}
}
}
你好提问者:
如果解决了你的问题,请采纳,若有疑问请追问,谢谢!
package comzyxcnbaidu_test;import javaioFile;
public class GetListFile {
public static void main(String[] args) {
showFileName("C:\\Test");
}
private static void showFileName(String path) {
File file =new File(path);
if(fileexists()){//判断文件是否存在
if(fileisDirectory()){//判断file是否是文件夹
File[] listFiles =filelistFiles();//获取文件下的子文件
// 目录下文件
if(listFileslength == 0){
Systemoutprintln("该文件夹下没有文件");
}
for (File f : listFiles) {
if(fisDirectory()){//判断file是否是文件夹
Systemoutprintln("文件夹:"+fgetName());
showFileName(fgetAbsolutePath());//文件夹就继续遍历下的子文件
}else if(fisFile()){
Systemoutprintln("文件:"+fgetName());
}else {
Systemerrprintln("未知错误");
}
}
}
}
}
}结果:
文件:Testdocx
文件:testtxt
文件:Wbjava结果:
文件夹:Hello
文件:worldtxt
文件:Testdocx
文件:testtxt
文件:Wbjava
public static List<File> getFiles(String path){
File root = new File(path);
List<File> files = new ArrayList<File>();
if(!rootisDirectory()){
filesadd(root);
}else{
File[] subFiles = rootlistFiles();
for(File f : subFiles){
filesaddAll(getFiles(fgetAbsolutePath()));
}
}
return files;
}
public static void main(String[] args) {
List<File> files = getFiles("D:\\usr\\local\\java\\jdk160_30");
for(File f : files){
Systemoutprintln(fgetName());
}
}
大概就是这样了,没有做异常处理,自己看着办~
import javaioFile;
public class ShowAllXML {
public static void main(String[] args) {
File file = new File("")getAbsoluteFile();
String[] dir;
dir = filelist();
for (int i = 0; i < filelist()length; i++) {
if (dir[i]length() > 4) {
if (dir[i]endsWith("xml")) {
print(dir[i]);
}
}
}
}
private static void print(String string) {
Systemoutprintln(string);
}
}
以上就是关于java如何取得文件夹下所有的子目录全部的内容,包括:java如何取得文件夹下所有的子目录、何用Java代码列出一个目录下所有的文件、java 循环读取一个指定文件夹下的所有文件,提供大致代码的思路吧,谢谢~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)