File file = File("aaa");
aaa是相对user.dir的路径
但测试的时候出了点问题,就是我修改user.dir属性值後,
虽然file.getAbsolutePath()打印出修改后的路径,相应的文件也存在
但是in = new FileInputStream(file);总报文件不存在异常
倒是把文件放在改前的路径下读出没问题
这是咋回事呢,看了下jdk源码,链接到文件和读字节方法都是native的......

解决方案 »

  1.   

    没看懂你的意思.不过代码运行了一下.确实发现有这个问题.必须
    System.setProperty("user.dir", "d:\\");
    File file = new File(System.getProperty("user.dir")+"文件名");
    才能找到文件
      

  2.   

    你写成绝对路径当然没问题了
    我的意思是
    当写成new File("aaa.txt");
    的时候,aaa是相对于user.dir的吧
    但如果先改掉user.dir的话,找文件会有错
    System.setProperty("user.dir","asdf");
    File file = new File("aaa.txt");
    print(file.getAbsolutePath());//打印出来改后的路径,而且确定路径下有文件aaa.txt
    然后读文件的时候就会出错