package test0911;
import java.io.File;
import java.io.IOException;
import java.util.Date;
/*
* 1、File类
* 1) 它来源于java.io.File;
* 2) 它用来:管理计算机资源,主要是管理文件夹和文件及磁盘空间。
* 3) 它提供一个管理资源的相关方法。
*
* 2、查看当前电脑的磁盘使用情况。
* listRoots()是java6.0及以上版本新增的一个方法。
* 此方法用来列出计算机中所有根目录并将它们组成一个File类的对象数组。
*
* 根目录、子目录、路径、绝对路径、相对路径。
* 1Byte == 8 bit
* 1KB == 1024B
* 1MB == 1024KB
* 1GB == 1024MB
* 1TB == 1024GB
*
* 3、编写一个类似 DIR 命令的功能的程序.
* 查看某个指定文件夹下的所有信息(子文件夹和文件名)。
* list()
*
* 4、编写一个类似 md 命令的功能的程序。
*
* 案例: 在当前用户的工作目录下创建一系列目录,之后,再创建一个文件。
* 父目录 子目录 的关系
*
* 思考:
* 在指定磁盘的指定目录下,创建一个指定的目录。
*
* mkdir() 方法 用来创建一个目录。
* mkdirs() 方法 用来创建一系列目录(父目录/子目录)
*/
public class FileTest0 {
public static void main(String[] args) {
File[] rts = File.listRoots();
System.out.println("磁盘\t已用空间\t可用空间\t总空间");
for( File tem : rts ){
System.out.print( tem );
long dfs = tem.getFreeSpace() / 1024 / 1024 / 1024 ; //获取磁盘的可用空间。
long dts = tem.getTotalSpace() / 1024 / 1024 / 1024 ;//获取磁盘的总空间。
long uts = dts - dfs;
System.out.println("\t" + uts + "GB \t" + dfs + "GB \t" + dts + "GB ");
}
a(args);
b(args);
}
public static void a(String[] args) {
String path = "d:/";
System.out.println("以下是: " + path + " 目录下的所有信息:");
//构造一个File类的对象用来管理path路径
File f1 = new File( path );
//list()方法的作用: 将指定目录下的所有文件名和子文件夹的名称收集起来组成一个String类型的数组。
String[] fileDirNames = f1.list();
int dirCounter = 0; //计算目录的数量
int fileCounter = 0; //计算文件的数量
long totalLength = 0; //文件的总长度
for( String tem : fileDirNames ){
//创建一个File对象来管理 tem 对应的文件或子文件夹。
File f2 = new File( path + tem );
long t1 = f2.lastModified();
Date d1 = new Date( t1 );
System.out.printf("%tF %<tT" , d1 );
if( f2.isDirectory()) {
dirCounter++;
System.out.print("\t <DIR> \t");
}else{
fileCounter++;
long len = f2.length();
totalLength += len;
System.out.print("\t\t" + len );
}
System.out.println("\t"+ tem );
}
System.out.println("---------------------------------------------");
System.out.println("\t " + fileCounter + "个文件\t" + totalLength + " 个字节数。");
System.out.println("\t " + dirCounter + "个目录。");
}
public static void b(String[] args){
String userWorkDir = System.getProperty("user.dir");
System.out.println("用户当前的工作目录是: " + userWorkDir );
//定义要创建的一系列目录
String path = "目录1" + "/"+ "目录2";
//定义要创建的文件
String fileName = "MyFile.txt";
//创建一个File类的对象来管理 path 和 fileName
File f1 = new File( path , fileName );
if( f1.exists() ){
System.out.println( fileName + ",它存在且其绝对路径是: " + f1.getAbsolutePath() );
System.out.println( fileName + ",它存在且其大小是: " + f1.length() + " 个字节。");
}else{
f1.getParentFile().mkdirs(); //将一系列父目录同时创建
System.out.println("在 " + userWorkDir + " 目录下创建了: " + path + " 一系列父目录。");
try {
f1.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} //创建文件。
System.out.println("在 " + path + " 下面创建了一个 " + fileName + " 文件。");
}
}
}
笔记20 file类
最新推荐文章于 2022-03-04 21:18:57 发布