案例:
创建目录
先要创建File类对象
调用mkdirs
测试是否创建好目录—-利用JUnit来测试
/*
* 创建目录
*/
@Test
public void m01(){
File file = new File("D:\\File\\Music");
file.mkdirs();
}
创建文件
先要创建File类对象
调用creatNewFile
/*
* 创建文件
*/
@Test
public void m02() throws IOException{
File directory = new File("D:\\File\\Music");
File file = new File(directory,"测试.docx");
if(!directory.exists()){
directory.mkdirs();
}
file.createNewFile();
}
删除目录
/*
* 删除目录
* 先判断目录下是否有文件----如果有文件,目录删除不了
*/
@Test
public void m03(){
File directory = new File("D:\\File\\Music");
if(!directory.exists()){
return;//目录不存在则终止方法
}
File[] files = directory.listFiles();//返回music目录下的文件
if(files.length>0){
for(File file : files){
if(file.isFile()){
file.delete();//删除文件
}
}
}
directory.delete();
}
获取一级目录
/*
* 获取一级目录
*
*/
@Test
public void m04(){
File directory = new File("D:\\学习视频\\jQuery\\jQuery\\2016-3-14 jQuery入门");
File[] files = directory.listFiles();
for(File file : files){
System.out.println(file.getName());
}
}
获取文件大小
/*
* 获取文件大小
*/
@Test
public void m05(){
File file = new File("D:\\学习视频\\课堂讲义.docx");
if(file.isFile()){
System.out.println(file.length());//输出文件的字节大小
}
}
获取文件路径
/*
* 获取文件路径
*/
@Test
public void m06(){
File file = new File("D:\\File\\Test");
String path = file.getPath();
System.out.println("path:"+path);
String absolutePath = file.getAbsolutePath();
System.out.println("absolutePath:"+absolutePath);
File fpath = file.getAbsoluteFile();
System.out.println("fpath:"+fpath);
}
递归:
/*
* 递归:1+2+...+100
*/
@Test
public void m07(){
int count = add(0,100);
System.out.println("count:"+count);
}
public int add(int sum,int n){
sum += n;
n--;
if(n == 0){
return sum;
}else{
return add(sum,n);
}
}
利用递归去完成把一个目录进行输出(文件、目录)
/*
* 利用递归去完成把一个目录进行输出(文件、目录)
*/
@Test
public void m08(){
showDirectory(new File("D:\\学习视频"));
}
public void showDirectory(File file){
File[] files = file.listFiles();
if(files.length == 0){
return;//终止方法
}
for(File tmp : files){
if(tmp.isFile()){
System.out.println("文件:"+tmp.getName());
}else if(tmp.isDirectory()){
System.out.println("目录:"+tmp.getName());
showDirectory(tmp);
}
}
}
计算一个目录的大小
/*
* 计算一个目录的大小
*/
@Test
public void m09(){
showDirectorySize(new File("D:\\学习视频"));
System.out.println("size:"+size);
}
private long size = 0;//初始化一个目录的大小
public void showDirectorySize(File file){
if(file == null){//判断要遍历的目录是否为null
return;
}
File[] files = file.listFiles();
if(files.length == 0 || files == null){//判断子目录是否为null或者没有文件存在
return;
}
for(File tmp : files){
if(tmp.isFile()){
System.out.println("文件:"+tmp.getName());
size += tmp.length();
}else if(tmp.isDirectory()){
System.out.println("目录:"+tmp.getName());
showDirectorySize(tmp);
}
}
}
请关注“知了堂学习社区”,地址:http://www.zhiliaotang.com/portal.php
本文介绍了Java中File类的基本使用方法,包括创建目录、创建文件、删除目录、获取一级目录、获取文件大小、获取文件路径等操作,并通过示例展示了如何使用递归方法输出目录及其内容。
2563

被折叠的 条评论
为什么被折叠?



