我想在服务器端读取属性文件。我有DBConfig.java,useDBConfig.java和DBConfig.properties都放在服务器包中。我无法从服务器端的属性文件中读取值。非常感谢您的帮助。
public interface DBConfig extends Constants {
@DefaultStringValue("host")
String host(String host);
@DefaultStringValue("port")
String port(String port);
@DefaultStringValue("username")
String username(String username);
@DefaultStringValue("password")
String password(String password);
}
public void useDBConfig() {
DBConfig constants = GWT.create(DBConfig.class);
Window.alert(constants.host());
host = constants.host(host);
port = constants.port(port);
username = constants.username(username);
password = constants.password(password);
}
属性文件......
host=127.0.0.1
port=3306
username=root
password=root
提前致谢。
答案 0 :(得分:1)
GWT.Create只能在客户端模式下使用。 你确定代码在服务器端执行吗?
如果我在我的应用程序GWT.Create中写入服务器端,我会收到此错误:
java.lang.UnsupportedOperationException:错误:GWT.create()仅在客户端代码中可用!例如,它不能从服务器代码中调用。如果您正在运行单元测试,请检查您的测试用例是否扩展了GWTTestCase,并且未在初始化程序或构造函数中调用GWT.create()。
您可以在java中读取属性文件。该文件类似于GWT中的常量文件。 属性文件示例:
key = value
host = 127.0.0.1
port = 80
username = guest
password = guest
EOF
您可以阅读此文件,请参阅下一个代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
String fileToRead = "MY_PATH"+File.separator+"MY_FILE.properties";
Properties prop = new Properties();
try {
File propertiesFile = new File(fileToRead);
prop.load(new FileInputStream(propertiesFile));
String host = prop.getProperty("host");
String port = prop.getProperty("port");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
System.out.println(host);
System.out.println(port);
System.out.println(username);
System.out.println(password);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
如果密钥不存在,则getProperty(String key)返回null。 你可以使用prop.containsKey(String key);查看密钥是否存在。此函数返回一个布尔值(如果在其他情况下存在,则为True)。
问候