打字猴:1.700481815e+09
1700481815
1700481816 protected String echo(CommandVO vo){
1700481817
1700481818 return DiskManager.df_g();
1700481819
1700481820 }
1700481821
1700481822 }
1700481823
1700481824 每个选项的实现类都定义了自己能解析什么命令,然后通过echo方法返回执行结果。在三个实现类中都与DiskManager类有关联关系,该类负责与操作系统有关的功能,是必须要实现的,其示例代码如代码清单34-16所示。
1700481825
1700481826 代码清单34-16 磁盘管理
1700481827
1700481828 public class DiskManager{
1700481829
1700481830 //默认的计算大小
1700481831
1700481832 public static String df(){
1700481833
1700481834 return”/\t10485760\n/usr\t104857600\n/home\t1048576000\n”;
1700481835
1700481836 }
1700481837
1700481838 //按照kb来计算
1700481839
1700481840 public static String df_k(){
1700481841
1700481842 return”/\t10240\n/usr\t102400\n/home\tt10240000\n”;
1700481843
1700481844 }
1700481845
1700481846 //按照gb计算
1700481847
1700481848 public static String df_g(){
1700481849
1700481850 return”/\t10\n/usr\t100\n/home\tt10000\n”;
1700481851
1700481852 }
1700481853
1700481854 }
1700481855
1700481856 以上为示例代码,若要实际计算磁盘大小,可以使用JNI的方式或者执行操作系统的命令的方式获得,特别是JDK 1.6提供了获得一个root目录大小的方法。
1700481857
1700481858 然后再增加一个DFCommand命令,负责执行命令,如代码清单34-17所示。
1700481859
1700481860 代码清单34-17 可执行的df命令
1700481861
1700481862 public class DFCommand extends Command{
1700481863
1700481864 public String execute(CommandVO vo){
[ 上一页 ]  [ :1.700481815e+09 ]  [ 下一页 ]