File类(java)

用java列出系统分区和C盘根目录

 

package com.limeteor.demo;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;


/**
 * File类
 * @author limeteor
 *
 */
public class FileDemo {

 public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

 public static void main(String[] args) {
  
  //获取当前文件系统的所有磁盘分区
  File[] disks = File.listRoots();
  System.out.println("系统磁盘分区情况:");
  for (int i = 0; i < disks.length; i++) {
   File disk = disks[i];
   System.out.println(disk.getAbsolutePath()+"盘\t总空间:"
     +disk.getTotalSpace()/1024/1024/1024+"G\t剩余空间"
     +disk.getFreeSpace()/1024/1024/1024+"G");
  }
  //获取C盘根目录
  File c = new File("C:");
  if (!c.exists()) {
   System.out.println("未发现C盘");
   return;
  }
  System.out.println("C盘根目录结构:");
  File[] files = c.listFiles();
  for (int i = 0; i < files.length; i++) {
   File file = files[i];
   if (file.isDirectory()) {
    System.out.println("[目录]"+file.getName());
   }
   if (file.isFile()) {
    System.out.println("[文件]"+file.getName());
    System.out.println("\t大小"+file.length()/1024+"K");
    Date date = new Date(file.lastModified());
    System.out.println("\t修改日期"+sdf.format(date)+"\t");
    if (file.isHidden()) {
     System.out.println("[隐藏]");
    }
    if (!file.canWrite()) {
     System.out.println("[只读]");
    }
    System.out.println();
   }
  }
 }
}

 

使用的知识点说明

1.File类在java.io包中,使用前需要引用此包

2.File类的listModified方法返回的是自1970年1月1日至今的毫秒数,需要先转换为Date类型再格式化输出。

posted @ 2010-04-08 16:37  LiMeteor  阅读(170)  评论(0编辑  收藏  举报