天天看点

cmd命令中遇到文件路径中含有空格

譬如文件路径:C:\Program Files\Java\j2sdk-1_4_2_19\bin

使用绝对地址调用Java命令时会报错:

E:\FSWorkSpace\learn\bin>C:\Program Files\Java\jdk1.6.0_45\bin\javap -c learn.Test

'C:\Program' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

E:\FSWorkSpace\learn\bin>%programfiles%\Java\jdk1.6.0_45\bin\javap -c learn.Test

'C:\Program' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

参考:http://zhidao.baidu.com/link?url=ujPCvtZhsaeSGebpiu6nBc1W9iSb9qjpdGaCjyN1KUppr2xdviwjqIxU2wAd8zSzmpfZTFoGSmKTPc3OpJM_7a

用DOS命名规则的缩写方式,即超过8个字符的文件名/文件夹名,缩写为前6个字母数字(如果前6个字母数字里也有空格,就忽略空格,最终是真正的字母数字有6个),再接“~”号,再接数字1,如果有两个文件前6个字母缩写下来完全一样,就一个是~1,另一个是~2,至于哪个是~1哪个是~2,没有细研究过。

使用

E:\FSWorkSpace\learn\bin>C:\Progra~1\Java\j2sdk-1_4_2_19\bin\javap -c learn.Test

Compiled from "Test.java"

public class learn.Test extends java.lang.Object{

public learn.Test();

  Code:

   0:   aload_0

   1:   invokespecial   #8; //Method java/lang/Object."<init>":()V

   4:   return

注:javap -c  类名 可以反编译查看.class文件内容,对了解jvm编译类文件有帮助。