文件排序-java代码

文件排序-java代码
package text;
/**
 *
 * @author 让痛苦痛苦
 * @说明:这是RMI将一个常规的类打包。
 * @prama 远程调用,文件排序代码
 * @pramat 说明: 它从目录中截取文件系统,列出文件名,按大小排列文件,以及最近访问的日期
 * @pramat 这种实用的类在定位文件和排列文件作为备份时非常有用。它还可以用来生成最大文件清单处理其他任务
 * @pramat 该任务可能使多疑的系统管理员在晚上不睡觉——如果用户在远程访问他们的话所有特点将非常精细.
 *
 */
import java.io.*;

/**
 *
 * @author 让痛苦痛苦
 * @title FileSystemProfiler
 * @description : Provides a listing of files in a directory ,with size values and the last
 *      modified date of the file as a long value , indicating time since the epcch
 *      (00:00:00 CMT,Januay 1,1970).
 *
 */
public class FileSystemProfiler {
 private String lineSeparator="";
 private String nameSizeSeparator="";
 private StringBuffer sbFl;
 public FileSystemProfiler()
 {
  lineSeparator =System.getProperty("line.separator");
  nameSizeSeparator="分割";
  sbFl=new StringBuffer();
 }
  public String getNameSizeSeparator() {
   return nameSizeSeparator;
  }
  public void setNameSizeSeparator(String newnameSizeSeparator) {
   if(newnameSizeSeparator!=null)
   nameSizeSeparator = newnameSizeSeparator;
  }
  
 public String getFileListWithSizesDates()
 {
  return sbFl.toString();
 }
 public void clearFileListBuffer()
 {
  sbFl=new StringBuffer();
  //No easy way to erase SB
 }
 public void recurseInDirFrom(String dirItem)
 {
  File file;
  String list[];
  file=new File(dirItem);
  if(file.isDirectory())
  {
   list=file.list();
   for(int i=0;i<list.length;i++)
   {
    recurseInDirFrom(dirItem+File.separatorChar+list[i]);
   }
  }
  try {
   if(file.isDirectory())
   {
    sbFl.append(file.getCanonicalPath()+lineSeparator);
   }
   else
   {
    sbFl.append(file.getCanonicalPath()+nameSizeSeparator+file.length()

+nameSizeSeparator+file.lastModified()+lineSeparator);
    
   }
  } catch (IOException ioe) {
   ioe.printStackTrace();
   // TODO: handle exception
  }
 }
 /**
  * ex. to recurse from the cueernt directroy java FileSystemListAndSize.
  */
 
 public static void main(String args[]) throws Exception
 {
  try {
   FileSystemProfiler d=new FileSystemProfiler();
   if(args.length>0)
   {
    System.out.println("recuesive Dir from "+args[0]);
    d.recurseInDirFrom(args[0]);
    
   }
   else
   {
    d.recurseInDirFrom(".");
    System.out.println(d.getFileListWithSizesDates());
   }
  } catch (Exception e) {
   e.printStackTrace();
   // TODO: handle exception
  }
 }
 /**
  * @author 让痛苦痛苦
  * @prama 说明: FileSystemProfiler是从www.rgagnon.com的Real Gaganon提供的代码片段中得到的启发
  *
  */

 /**
  * 从该类中我们可以的出想要远程输出的公用方法。通常接口类是由I前缀指定的。
  * interface关键字显示了通常应该在何处看到指定的类(public interface而不是public class)。
  * 上面只显示了IRemoteFileSystemProfiler类,
  * 注意此函数只进行了定义
  */
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值