笔记20 file类

来源:互联网 发布:淘宝虚拟物品自动发货 编辑:程序博客网 时间:2024/06/05 13:34
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 blocke.printStackTrace();} //创建文件。System.out.println("在 " + path + "  下面创建了一个 " + fileName + " 文件。");}}}

0 0