Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将Java sun.uil.ResourceBundleEnumeration转换为Java.lang.String_Java_Properties_Classcastexception_Resourcebundle - Fatal编程技术网

无法将Java sun.uil.ResourceBundleEnumeration转换为Java.lang.String

无法将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")

我正在创建一个Bukkit插件,但在加载.properties文件时遇到问题。 我得到“sun.util.ResourceBundleEnumeration无法转换为java.lang.String”

我正在尝试从另一个属性文件中添加2.properties文件(ENf和LANGf)中没有的所有键

    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补充道,我自己没有看到它-谢谢兄弟