玩一个属性文件我认为似乎有 限制40char以保存在单个属性中。
我执行以下操作:
File configFile = new File("config.properties");
Properties props = new Properties();
props.put( "cc_server", "sort_of_a_long_string_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
FileOutputStream fos = new FileOutputStream( configFile );
PrintWriter pw = new PrintWriter( fos );
props.list( pw );
pw.flush();
pw.close();
System.out.println("done.");
结果是,只有第一个37char被保存,扩展为“...”。 我认为PropertiesHash有正确的价值,写作 到文件似乎是问题。
有没有办法延长/关闭此限制?
TIA
K
答案 0 :(得分:12)
您正在使用调试功能来保存文件。 list()
方法并非用于将属性保存到文件,您应该使用store()
方法:
File configFile = new File("config.properties");
Properties props = new Properties();
props.put("cc_server", "sort_of_a_long_string_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
props.store(new FileOutputStream(configFile),"aaa");
答案 1 :(得分:8)
没有这样的限制
既然你提到“......”我有这个问题:你是否在JLabel中显示了这个值? “...”是JLabel渲染String太长的典型方式。
还有一种更简单的方法来保存属性
File propertiesfile=new File("fileName.props");
propstosave.store(new FileOutputStream(propertiesfile), "groupnames");