Properties properties = new Properties();
     try{
         properties.load(new FileInputStream(new File("style.properties")));
     }catch(FileNotFoundException fe){
     fe.printStackTrace();
     }catch(IOException ioe) {
ioe.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}================================================================================
运行以上代码时,系统提示找不到指定的文件异常,请问怎么回事?

解决方案 »

  1.   

    style.properties这个文件就放在与这个类同样的目录中,怎么会出错呢。
      

  2.   

    怎么用相对路径啊?哪位知道,我做的是WEB程序,若用绝对的不行啊,而且是和类在同一个目录,不应该出问题啊?
      

  3.   

    如果是大一点的工程,一般 默认的工作目录和src,classes同级的目录,楼主要做的是把那个properties文件放在这个工作目录下;
    如果只是一个小文件的话,可以使用绝对路径;
    如果楼主就是希望使用相对路径的话,可以先将当前的工作目录打印出来(System.getProperty("user.dir")),然后再参照第一种方案处理即可
      

  4.   

    1)确定你的Java文件编译后的class文件要与style.properties文件在一个文件夹下。
    2)或者,把style.properties文件放到你的classpath中去。
      

  5.   

    在web下不一定是取类相同目录下的文件的。这个要取决与类加载器,最好还是用绝对路径。可以用getRealPath()组合出绝对路径的方法来解决路径变化问题
      

  6.   

    这是我的代码,运行正确:
    -------------------------
    import java.io.*;
    import java.util.Properties;public class TestProp
    { /**
     * @param args
     */
    public static void main(String[] args)  throws Exception
    {
    InputStream in = new BufferedInputStream(new FileInputStream("p.properties"));
    Properties p = new Properties();
    p.load(in);
    System.out.println(p.getProperty("name"));
    System.out.println(p.getProperty("age"));
    in.close(); }
    }
    -------------------------
      

  7.   

    如果是Web的话
    String root=request.getRealPath("/");//这个得到的是你Web程序的实际目录
    String path=root + "文件所在目录\\style.properties";
    再这样就行啦 new File(path);
      

  8.   

    上面那个"文件所在目录"是相对的 例如你的web工程名是 project 你的文件在其下的file文件夹下 则得到的就是 root = D:\resin-2.1.16\webapps\project\
    path=D:\resin-2.1.16\webapps\project\file\style.properties