1700481112
1700481113
因为现在还没有思考清楚ls有什么个性(可以把命令的选项也认为是其个性化数据),所以先写个空类放在这里,以后想清楚了再填写上去,留下一些可扩展的类也许会给未来带来不可估量的优点。
1700481114
1700481115
我们再来看ls不带任何参数的命令处理,如代码清单34-3所示。
1700481116
1700481117
代码清单34-3 ls命令
1700481118
1700481119
public class LS extends AbstractLS{
1700481120
1700481121
//最简单的ls命令
1700481122
1700481123
protected String echo(CommandVO vo){
1700481124
1700481125
return FileManager.ls(vo.formatData());
1700481126
1700481127
}
1700481128
1700481129
//参数为空
1700481130
1700481131
protected String getOperateParam(){
1700481132
1700481133
return super.DEFAULT_PARAM;
1700481134
1700481135
}
1700481136
1700481137
}
1700481138
1700481139
太简单了,首先定义了自己能处理什么样的参数,即只能处理不带参数的ls命令,getOperateParam返回一个长度为零的字符串,就是说该类作为链上的一个节点,只处理没有参数的ls命令。echo方法是执行ls命令,通过调用操作系统相关的命令返回结果。我们再来看ls-l命令,如代码清单34-4所示。
1700481140
1700481141
代码清单34-4 ls-l命令
1700481142
1700481143
public class LS_L extends AbstractLS{
1700481144
1700481145
protected String echo(CommandVO vo){
1700481146
1700481147
return FileManager.ls_l(vo.formatData());
1700481148
1700481149
}
1700481150
1700481151
//l选项
1700481152
1700481153
protected String getOperateParam(){
1700481154
1700481155
return super.L_PARAM;
1700481156
1700481157
}
1700481158
1700481159
}
1700481160
1700481161
该类只处理选项为”l”的命令,也非常简单。ls-a命令的处理与此类似,如代码清单34-5所示。
[
上一页 ]
[ :1.700481112e+09 ]
[
下一页 ]