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 ]
[
下一页 ]