无法将Java sun.uil.ResourceBundleEnumeration转换为Java.lang.String
我正在创建一个Bukkit插件,但在加载.properties文件时遇到问题。 我得到“sun.util.ResourceBundleEnumeration无法转换为java.lang.String” 我正在尝试从另一个属性文件中添加2.properties文件(ENf和LANGf)中没有的所有键无法将Java sun.uil.ResourceBundleEnumeration转换为Java.lang.String,java,properties,classcastexception,resourcebundle,Java,Properties,Classcastexception,Resourcebundle,我正在创建一个Bukkit插件,但在加载.properties文件时遇到问题。 我得到“sun.util.ResourceBundleEnumeration无法转换为java.lang.String” 我正在尝试从另一个属性文件中添加2.properties文件(ENf和LANGf)中没有的所有键 File tempFile = null; try { tempFile = File.createTempFile("temp_EN", ".properties")
File tempFile = null;
try {
tempFile = File.createTempFile("temp_EN", ".properties");
} catch (IOException e) {
e.printStackTrace();
}
try (FileOutputStream out = new FileOutputStream(tempFile)) {
tempFile.deleteOnExit();
copy(r.getUC().getResource("Messages/EN.properties"), out);
} catch (IOException e) {
e.printStackTrace();
}
ResourceBundle tempR = null;
try {
tempR = new PropertyResourceBundle(new FileInputStream(tempFile));
} catch (IOException e) {
e.printStackTrace();
}
Enumeration<String> keys = tempR.getKeys();
//EN
Properties propsEN = new Properties();
Properties propsCU = new Properties();
try {
propsEN.load(new FileInputStream(ENf));
propsCU.load(new FileInputStream(LANGf));
} catch (IOException e) {
e.printStackTrace();
}
while(keys.hasMoreElements()){
String key = keys.nextElement();
//
if(!r.en.containsKey(key)){
propsEN.put(keys, tempR.getString(key));
}
if(!r.cu.containsKey(key)){
propsCU.put(keys, tempR.getString(key));
}
}
try {
FileOutputStream ENo = StreamUtil.createOutputStream(ENf);
FileOutputStream CUo = StreamUtil.createOutputStream(LANGf);
propsEN.store(ENo, "");
propsCU.store(CUo, "");
ENo.close();
CUo.close();
} catch (SecurityException | IOException e) {
e.printStackTrace();
}
tempFile.delete();
File tempFile=null;
试一试{
tempFile=File.createTempFile(“temp_EN”,“.properties”);
}捕获(IOE异常){
e、 printStackTrace();
}
try(FileOutputStream out=newfileoutputstream(tempFile)){
tempFile.deleteOnExit();
复制(r.getUC().getResource(“Messages/EN.properties”),输出);
}捕获(IOE异常){
e、 printStackTrace();
}
ResourceBundle tempR=null;
试一试{
tempR=newpropertyresourcebundle(newfileinputstream(tempFile));
}捕获(IOE异常){
e、 printStackTrace();
}
枚举键=tempR.getKeys();
//嗯
Properties propsEN=新属性();
Properties propsCU=新属性();
试一试{
加载(新文件输入流(ENf));
加载(新文件输入流(LANGf));
}捕获(IOE异常){
e、 printStackTrace();
}
while(keys.hasMoreElements()){
String key=keys.nextElement();
//
如果(!r.en.containsKey(键)){
propsEN.put(键,tempR.getString(键));
}
如果(!r.cu.containsKey(键)){
propsCU.put(键,tempR.getString(键));
}
}
试一试{
FileOutputStream ENo=StreamUtil.createOutputStream(ENf);
FileOutputStream CUo=StreamUtil.createOutputStream(LANGf);
专有存储(ENo,“”);
专有存储(CUo,“”);
ENo.close();
CUo.close();
}catch(SecurityException | IOException e){
e、 printStackTrace();
}
tempFile.delete();
LANGf=Some.properties文件
ENf=Some.properties文件
r、 getUC().getResource()返回某个.properties文件的InputStream,我试图从中复制所有缺少的键
复制(文件,文件)只是复制一个文件
java.lang.ClassCastException:sun.util.ResourceBundleEnumeration无法强制转换为java.lang.String
在java.util.Properties.store0(未知源代码)~[?:1.7.0_21]
在java.util.Properties.store(未知源)~[?:1.7.0_21]
在Bammerbom.UltimateCore.UltimateFileLoader.addConfig(UltimateFileLoader.java:209)~[?:?]
在Bammerbom.UltimateCore.UltimateCore.oneable(UltimateCore.java:22)~[?:?]
在org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316)~[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:324)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:455)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:389)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.craftbukkit.v1_7_R4.CraftServer.reload(CraftServer.java:839)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.bukkit.reload(bukkit.java:303)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:740)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand(CraftServer.java:726)[Server.jar:git-bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在net.minecraft.server.v1_7_R4.deficatedserver.aB(deficatedserver.java:294)[server.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在net.minecraft.server.v1_7_R4.deficatedserver.v(deficatedserver.java:259)[server.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:558)[server.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:469)[server.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]
在net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628)[server.jar:git-Bukkit-1.7.9-R0.2-20-g0b2ed13-b3108jnks]存储密钥枚举的值,而不是在属性中存储每个密钥的值
propsEN.put(keys, tempR.getString(key));
应该是
propsEN.put(key, tempR.getString(key));
^-- no 's' here.
显然,propsCU也是如此。如果你阅读并发布堆栈跟踪,你和我们就可以准确地知道异常发生的位置,而不是试图猜测。对不起,stacktaceWow补充道,我自己没有看到它-谢谢兄弟