2009-08-10 66 views
3

玩弄一個屬性文件我想,似乎有 40char保存在一個屬性的限制。屬性文件字符串長度限制(JAVA)

我做到以下幾點:

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 

回答

8

有沒有這樣的限制

既然你提到 「...」 我有這樣一個問題:你在JLabel顯示值? 「...」是JLabel呈現太長字符串的典型方法。

也有保存屬性

File propertiesfile=new File("fileName.props"); 
propstosave.store(new FileOutputStream(propertiesfile), "groupnames"); 
+1

嗨, 我完全不顯示值。檢查實際的配置文件 告訴我,保存的值已被所有提及的點截斷和擴展。 使用你的'storeApproach'解決了這個問題,thx一堆! KB – KB22 2009-08-10 08:24:35

12

您使用的是調試功能來保存文件的簡便方法。list()方法不intented保存屬性文件,你應該使用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"); 
+0

列表方法僅用於調試目的。 – adatapost 2009-08-10 08:24:58