创建临时文件,但在执行是出现E:\>java FileTest
Exception in thread "main" java.io.IOException: 系统找不到指定的路径。
        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
        at java.io.File.checkAndCreate(Unknown Source)
        at java.io.File.createTempFile(Unknown Source)
        at java.io.File.createTempFile(Unknown Source)
        at FileTest.main(FileTest.java:11)
我的源码是:import java.io.*;
class FileTest
{
public static void main(String[] args) throws Exception
{

for(int i=0;i < 5;i++)
{
File.createTempFile("winsun",".tmp");
}


}
}
另外:我的环境变量也相应的设为TEMP  e:\Temp  TMP    e:\Temp 
     系统变量设置为TEMP  e:\Temp  TMP    e:\Temp 
在我看来。该做的都做了,为什么还会出现异常呢?请教!

解决方案 »

  1.   

    path是你的jdk路径啊,classpath为上面的路径,最好前面加个.,
      

  2.   

    e:\Temp TMP e:\Temp 这是什么?
    默认的临时文件目录:
    %USERPROFILE%\Local Settings\Temp
      

  3.   

    补充一下!我的环境变量设置为:
    变量名:classpath         变量值:.;E:\Temp
    变量名:PATH           变量值:C:\Program Files\Java\jdk1.6.0_02\bin;C:\Program Files\StormII\Codec;C:\Program Files\StormII
    变量名:TEMP               变量值:e:\Temp
    变量名:TMP               变量值:e:\Temp
    以上两位能否仔细讲解?
      

  4.   

    classpath 错误。改为你的JDK下的Lib目录。
    还不行的,就是传说中的RM问题,重启下试试。
    代码是没问题的
      

  5.   

    刚才我把这个e:\Temp TMP e:\Temp看成了一个路径。不好意思。
     
      

  6.   

    System.out.println(System.getenv("temp"));
      

  7.   

    环境变量没设置对,个人感觉不要在这些东西上纠缠太多,直接下个Eclipse的IDE写代码
      

  8.   

    package com.xuz.csdn.july05;import java.io.File;
    import java.io.IOException;public class TempFileTest { public static void main(String[] args) {
    System.setProperty("java.io.tmpdir", "e:/Temp");

    try {
    File.createTempFile("zzzzzz", ".tmp");
    } catch (IOException e) {
    e.printStackTrace();
    }
    }}
      

  9.   


    请教不敢,我使用此方法,确实在e:/temp生成了zzzz23123123123.tmp文件。
    中间的数字应该是系统自动添加的规则吧。