File
哎,说起文件就烦,原来就没学会,现在又来一遍讲的还是很快
小小的总结一下。。。
1.创建和删除文件
/**
* 测试文件的创建和删除
* @param filename 创建文件的路径
* @throws IOException
*/
public void testCreateAndDelete(String filename) throws IOException{
//通过传入filename构造File对象
File create=new File(filename);
//判断文件是否存在
if(create.exists()){
System.out.println("该文件路径是"+create.getAbsolutePath());
create.delete();
if(create.exists()){System.out.println("还存在。。。。");}
else{System.out.println("已删除。。。");}
}
else{
create.createNewFile();
System.out.println("已创建");
create.delete();
if(create.exists()){System.out.println("还存在。。。。");}
else{System.out.println("已删除。。。");}
}
}
创建的话,格式是File 文件名=new File("文件路径");
删除的话,调用已有的delete方法就ok了。
还有几个方法是判断是文件file.isFile()、是目录file.isDirectory()、还有获取目录下文件或目录的个数的方法file.llength()。
2.获取根目录下的磁盘个数
其实调用listRoots()方法就ok了,然后输出的时候注意不能用getName输出,可以用getAbsolutePath()输出
盘符,还有也可以用getAbsoluteFile();
3.统计文件个数
//统计文件或者文件夹中文件的个数
public int CountNumber(String Filename){
int n=0;
//通过传入的filename创建对象
File countFile=new File(Filename);
//判断countFile是否存在,分情况处理
if(countFile.exists()){
if(countFile.isFile()){n=1;}
if(countFile.isDirectory()){
File[] next=countFile.listFiles();
for(int j=0;j<next.length;j++){//不是很懂,为什么就是要用next.length
if(next[j].isFile()){
n++;
System.out.println("该文件路径是"+next[j].getAbsolutePath());}
else{
String pathnameString=next[j].getAbsolutePath();
n=n+CountNumber(pathnameString);}
}
}
}
//个人感觉实在没必要,所以没添加。。。
else{ }
return n;
}
最终效果: