1700481199
public static String ls_l(String path){
1700481200
1700481201
String str=“drw-rw-rw root system 1024 2009-8-20 10:23 file1\n”;
1700481202
1700481203
str=str+“drw-rw-rw root system 1024 2009-8-20 10:23 file2\n”;
1700481204
1700481205
str=str+“drw-rw-rw root system 1024 2009-8-20 10:23 file3”;
1700481206
1700481207
return str;
1700481208
1700481209
}
1700481210
1700481211
//ls-a命令
1700481212
1700481213
public static String ls_a(String path){
1700481214
1700481215
String str=”.\n..\nfile1\nfile2\nfile3”;
1700481216
1700481217
return str;
1700481218
1700481219
}
1700481220
1700481221
}
1700481222
1700481223
以上都是比较简单的方法,大家有兴趣可以自己实现一下,以下提供3种思路:
1700481224
1700481225
❑通过java.io.File类自己封装出类似UNIX的返回格式。
1700481226
1700481227
❑通过java.lang.Runtime类的exec方法执行DOS的dir命令,产生类似的ls结果。
1700481228
1700481229
❑通过JNI(Java Native Interface)来调用与操作系统有关的动态链接库,当然前提是需要自己写一个动态链接库文件。
1700481230
1700481231
3个具体的命令都已经解析完毕,我们再来看看如何建立一条处理链,由于建链的任务已经移植到抽象命令类,我们就先来看抽象类Command,如代码清单34-7所示。
1700481232
1700481233
代码清单34-7 抽象命令
1700481234
1700481235
public abstract class Command{
1700481236
1700481237
public abstract String execute(CommandVO vo);
1700481238
1700481239
//建立链表
1700481240
1700481241
protected final List<?extends CommandName>buildChain(Class<?extends
1700481242
1700481243
CommandName>abstractClass){
1700481244
1700481245
//取出所有的命令名下的子类
1700481246
1700481247
List<Class>classes=ClassUtils.getSonClass(abstractClass);
1700481248
[
上一页 ]
[ :1.700481199e+09 ]
[
下一页 ]