您的位置:首页 > 编程语言 > Java开发

IO_File_常用方法_文件夹操作_命令模式查找JAVA145

2015-12-19 18:33 931 查看
来源:http://www.bjsxt.com/

一、S02E145_01IO_File、常用方法、文件夹操作、命令模式查找

package com.test.io.file;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
/**
* 5.操作目录
* mkdir()  创建目录,必须确保父目录存在,如果不存在,创建失败;目录存在,则创建失败
* mkdirs() 创建目录,如果父目录链不存在,则一同创建;目录存在,则创建失败
* list()子目录或文件名字符串形式
* listFiles()
* static listRoots()根路径
*/
public class FolderMethod {
public static void main(String[] args) {
FolderMethod01();
FolderMethod02();
FolderMethod03();
}
/**
* 创建目录、输出子目录或文件、过滤器FilenameFilter或FileFilter
*/
public static void FolderMethod01(){
File src = new File("G:/java/test/p");
System.out.println(src.mkdir());//true,已存在则false
src = new File("G:/java/test/p/a/c");
System.out.println(src.mkdirs());//true,已存在则false

System.out.println("==========子目录或文件名字符串形式==================");
src = new File("G:/java/test");
String[] subNames = src.list();
for (String temp : subNames) {
System.out.println(temp);
}
System.out.println("==============子目录或文件的File对象=========================");
File[] subFiles = src.listFiles();
for (File temp : subFiles) {
System.out.println(temp.getAbsolutePath());
}
System.out.println("==========子文件.java对象==================================");
//命令设计模式
subFiles = src.listFiles(new FilenameFilter() {//过滤器
@Override
/**
* dir 代表src
* 文件且后缀为.java
*/
public boolean accept(File dir, String name) {
return new File(dir,name).isFile() && name.endsWith(".java");
}
});
for (File temp : subFiles) {
System.out.println(temp.getAbsolutePath());
}
}
/**
* 输出子孙级目录或文件的名称(绝对路径)
* 所用方法:
* 1.listFiles()
* 2.递归
*/
public static void FolderMethod02(){
System.out.println("==========输出子孙级目录或文件的名称(绝对路径)================================");
File src = new File("G:/java/test");
printName(src);
}
public static void printName(File src){
if(null == src || !src.exists()){
return;
}
System.out.println(src.getAbsolutePath());
if(src.isDirectory()){//文件夹
for (File sub : src.listFiles()) {
printName(sub);
}
}
}
/**
* 输出根路径
*/
public static void FolderMethod03() {
System.out.println("=======输出所有的盘符===============");
File[] roots = File.listRoots();
System.out.println(Arrays.toString(roots));
}
}
/*
返回:
true
true
==========子目录或文件名字符串形式==================
1.txt
200.jpg
a.java
p
Path.java
==============子目录或文件的File对象=========================
G:\java\test\1.txt
G:\java\test\200.jpg
G:\java\test\a.java
G:\java\test\p
G:\java\test\Path.java
==========子文件.java对象==================================
G:\java\test\Path.java
==========输出子孙级目录或文件的名称(绝对路径)================================
G:\java\test
G:\java\test\1.txt
G:\java\test\200.jpg
G:\java\test\a.java
G:\java\test\p
G:\java\test\p\a
G:\java\test\p\a\c
G:\java\test\Path.java
=======输出所有的盘符===============
[C:\, D:\, E:\, F:\, G:\, H:\]
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: