我有一个属性文件,我想在我的java程序中读取它.. 代码是
Properties prop = new Properties();
File file =new File("sendmails.properties");
String absolutePath = file.getAbsolutePath();
FileReader reader = new FileReader(file) ;
prop.load(reader);
有人能给我一个解决方案吗?
答案 0 :(得分:0)
File file = new File("sendmails.properties");
^^^^^
放置正确的文件路径。
答案 1 :(得分:0)
我猜问题是你的工作目录。
您可以通过以下方式检查工作目录:
String workingDir = System.getProperty("user.dir");
System.out.println("Current working directory : " + workingDir);
并检查该文件夹下是否存在该文件(我猜不是......)
两种解决方案:
使用绝对路径,您可以从文件系统
获取文件档案=新档案(“d:/sendmails.properties”);
检查当前工作目录的相对路径。如果您需要使用4个文件夹:
文件档案=新档案(“../../../../ sendmails.properties”);
答案 2 :(得分:0)
创建文件时,要么使用绝对路径,要么在类路径中包含属性,并使用类加载器加载它们:
prop.load(classLoader.getResourceAsStream("sendmails.properties"))
答案 3 :(得分:0)
属性文件应该在您的类路径中。将属性文件所在的目录添加到服务器/系统类路径中,您的问题将得到解决。
答案 4 :(得分: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 email = hussain 密码= hussain
答案 5 :(得分:0)
我做的是:
Properties props = new PropertiesBean(configPath);
/* where
configPath = this.getClass().getName();
*/
希望有所帮助。