这几天我在将我的java程序迁移到vista上时发现了两个问题:1、在往C:\Windows目录下写文件时,jvm并没有报错,但文件也没有生成。理论上应该会报SecurityException例外。程序如下:
blic class VistaTest1 {
public static void main(String[] args) {
String windir = System.getenv("windir");
File file = new File(windir, "a.txt");
BufferedWriter bw = null;
try {
System.out.println("file path:" + file.getCanonicalPath());
System.out.println("file exists: " + file.exists());
System.out.println("file can write: " + file.canWrite());
System.out.println("file create new file: " + file.createNewFile());bw = new BufferedWriter(new FileWriter(file));
bw.write("fjdlsakfjsf");
bw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
} catch (Exception e) {}
}}
}
2、在我将我用户目录下的Document等目录转移到D:\home\xxx下时,在正常的JAVA程序中通过System.getProperty()获取系统属性user.home时,返回的是D:\home\xxx,而在Applet下返回却是C:\user\xxx。怎么会出现这两个不同的值?好郁闷啊!不知道各位是否知道是什么原因引起的,是我的程序有问题,还是JVM的bug?我的开发环境:操作系统:Vista Ultimate
系统用户: 具有Administrators权限的用户xxx
JAVA版本: 1.6.0_01
开发工具: Eclipse 3.3R3

解决方案 »

  1.   

    可能是运行环境不一致吧,你的applet是带环境参数运行的么
      

  2.   

    这里估计没有多少人用vista吧,本来做java就耗机器性能,再整个vista,跑不动了
      

  3.   

    没有带比较特殊的参数啊。我的html代码如下:<OBJECT 
        classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
        codebase = "http://java.sun.com/update/1.5.0/jinstall-1_5-windows-i586.cab#Version=1,5,0,0"
        WIDTH="0" HEIGHT="0" name="Applet1" >
        <PARAM NAME="CODE" VALUE="xxx.yyy.Applet1" />
        <PARAM NAME="CODEBASE" VALUE="/Security" />
        <PARAM NAME="ARCHIVE" VALUE="x.jar,y.jar,z.jar" />
        <PARAM NAME="NAME" VALUE="Applet1" />
        <PARAM NAME="type" VALUE="application/x-java-applet;version=1.5"/>
    <PARAM NAME="scriptable" VALUE="true"/>
        <COMMENT>
    <EMBED type="application/x-java-applet;version=1.5"
                CODE="xxx.yyy.Applet1"
                CODEBASE="/Security"
                ARCHIVE="x.jar,y.jar,z.jar"
                NAME="Applet1"
                WIDTH="0"
                HEIGHT="0"
         scriptable="true"
        pluginspage="http://java.sun.com/products/plugin/index.html#download">
        <NOEMBED>
                
                </NOEMBED>
    </EMBED>
        </COMMENT>
    </OBJECT>