对文件的操作
来源:互联网 发布:外汇数据api 编辑:程序博客网 时间:2024/05/22 09:50
import java.io.File;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class FileUtil{
/**
显示路径下的所有文件的信息,递归
*/
public static void showAllDirectoryInfo(File ff,int level){
if(ff==null || ff.exists()==false){
return;
}
StringBuffer sb = new StringBuffer();
for(int i=0;i<level;i++){
sb.append("\t");
}
System.out.println( sb.toString()+ ff.getName() );
if( ff.isDirectory()){ //如果是一个目录
File[] fs = ff.listFiles();
if(fs!=null && fs.length>0){
for(File f:fs){
showAllDirectoryInfo( f,level+1 );
}
}
}
}
/**
输出目录 ff 下所有的文件和目录的信息,就是求出文件的大小,有多少个文件夹等信息(非递归的)
*/
public static void showDirectry(File ff){
if(ff==null || ff.isFile()){
return; //当文件为空并且不是一个目录时,就返回
}
int fileCount=0;
int directoryCount=0;
int fileTotalLength=0;
File [] fs = ff.listFiles(); //列出目录下面所有的文件
if(fs!=null && fs.length>0){
for(File f:fs){
if(f.isFile()){
fileCount++;
fileTotalLength+=f.length(); //求出所有文件的总长度
}else{
directoryCount++; //求出有多少个目录
}
System.out.println( getFileInformation(f) );
}
}
System.out.println( "\t\t\t"+fileCount+" 个文件,总大小为:"+fileTotalLength+"字节");
System.out.println("\t\t\t"+directoryCount+"目录");
}
/**
获取整条文件的信息
*/
public static String getFileInformation( File f){
//求文件的最后修改时间的,返回是的是一个长整型,将其转化成我们要它输出的格式
long modifierDate = f.lastModified();
Date d = new Date( modifierDate );
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String showDate = sdf.format( d );
String fileType = f.isFile()?"\t":"<DIR>"; //获取文件类型,当是一个文件时,就输出空格,当是一个文件夹是就输出DIR
String fileLength = getFileLength( f ); //得到文件的长度
return showDate+"\t"+fileType+"\t"+fileLength+"\t"+f.getName();
}
/**
获取文件的长度的
*/
public static String getFileLength(File file){
if( file.isDirectory() ){ //当是一个目录时,就返回空格
return "\t";
}
long length = file.length(); //取出文件的长度
if(length/1024/1024/1024>0){
return length/1024/1024/1024+"GB";
}
if(length/1024/1024>0){
return length/1024/1024+"MB";
}
if(length/1024>0){
return length/1024+"KB";
}
return length+"B";
}
}
0 0
- 对文件的操作
- 对文件的操作
- 对文件的操作
- 对文件的操作
- 对文件的操作
- 对文件的操作
- 对文件的操作
- 对文件的操作
- 对文件的操作
- 对文件的操作
- SHFILEOPSTRUCT 对文件的操作
- JAVA对文件的操作
- JAVA对文件的操作
- JAVA对文件的操作
- JAVA对文件的操作
- MFC对文件的操作
- 对properties文件的操作
- MFC对文件的操作
- UVA10518 - How Many Calls?(矩阵快速幂)
- 英文文献的一些有意思的写法
- Java数组操作的10大方法
- JVM内存管理总结
- 全副武装,迎战C++考试 & 自学考试 & 软件设计师考试
- 对文件的操作
- 面试题-找出数组中第k大小的数,输出数所在的位置
- Object-C 基础学习笔记(for,foreach,while,switch)
- JVM运行报错:GC overhead limit exceeded
- HDU - 5105 Math Problem
- 在Activitis间传递ArrayList参数
- 正则表达式
- Ios Android Hybrid app 与 Js Bridge 二 (具体实现)
- MongoDB分片实战:性能和优化