-3

我有一个属性文件,我想在我的 java 程序中读取它。代码是

Properties prop = new Properties();
File file =new  File("sendmails.properties");
String absolutePath = file.getAbsolutePath();


FileReader reader = new FileReader(file) ; 
prop.load(reader);
  • 文件未找到异常显示。
  • 两个文件都在同一个目录

谁能给我一个解决方案?

4

6 回答 6

0
package readFile;
import java.util.Enumeration;
import java.util.ResourceBundle;
public class ReadPropFile 
{
    public static void main(String[] args) 
    {
        ResourceBundle bundle = ResourceBundle.getBundle("MyProp");
        //System.out.println(bundle.toString());
        String email = bundle.getString("email");
        String password = bundle.getString("password");
        System.out.println("Email :: "+email);
        System.out.println("Password :: "+password);
        // Fetch all the Properties.
        Enumeration keys = bundle.getKeys();
        while(keys.hasMoreElements()){
        System.out.println(keys.nextElement());
        }
    }
}

MyProp.properties 应该在 src 文件夹中

MyProp.properties 电子邮件 = 侯赛因密码 = 侯赛因

于 2013-02-07T10:17:19.880 回答
0

我所做的是:

  Properties props = new PropertiesBean(configPath);
    /* where 
    configPath = this.getClass().getName();
    */

希望有帮助。

于 2014-09-10T19:31:35.870 回答
0
File file = new File("sendmails.properties");
                   ^^^^^   

放置正确的文件路径。

于 2013-02-07T07:32:46.233 回答
0

我想问题是你的工作目录。

您可以使用以下命令检查工作目录:

String workingDir = System.getProperty("user.dir");
System.out.println("Current working directory : " + workingDir);

并检查该文件夹下是否存在该文件(我猜不...)

两种解决方案:

  1. 使用绝对路径,因为您可以从文件系统中获取

    文件 file =new File("d:/sendmails.properties");

  2. 检查当前工作目录的相对路径。如果您需要向上移动 4 个文件夹,请使用:

    文件文件 =new File("../../../../sendmails.properties");

于 2013-02-07T07:36:02.933 回答
0

创建文件时,要么使用绝对路径,要么在类路径中包含属性并使用类加载器加载它们:

prop.load(classLoader.getResourceAsStream("sendmails.properties"))
于 2013-02-07T07:36:09.227 回答
0

属性文件应该在您的类路径中。将属性文件所在的目录添加到您的服务器/系统类路径中,您的问题将得到解决。

于 2013-02-07T08:51:08.723 回答