2016-07-24 79 views
0

嗨,我試圖把<登錄Java屬性文件,這樣它會顯示消息用戶爲「<符號是不能接受的」,但我不能夠把它在文件中。如何把「<」字符在Java屬性文件

我試過/</,\<\\\<...但它沒有工作。

+6

你能從你的屬性文件向我們展示整個問題嗎? –

+0

Key = id不應該包含< – user1196985

+1

定義'無法將其放入文件'和'沒有工作'。沒有理由爲什麼''本身不應該工作。無法想象你是如何想出任何這些奇怪的轉義序列的,這些都沒有在Javadoc中記錄。 – EJP

回答

4

Properties文本格式與< s或> s沒有問題。文件格式的確切規格在Properties.load()中列出,並沒有提及任何字符。這也很容易驗證:

public static void main(String[] args) throws IOException { 
    Properties prop = new Properties(); 
    prop.put("<key>", "<value>"); 
    System.out.println("Properties Contents: " + prop); 

    StringWriter writer = new StringWriter(); 
    prop.store(writer, "<comment>"); 
    System.out.println("\nProperties File Format:\n" + writer); 

    prop = new Properties(); 
    prop.load(new StringReader(writer.toString())); 
    System.out.println("Properties Contents: " + prop); 
} 

首先我們構建了一個Properties對象,並添加<key><value>對。然後我們將對象寫入Writer並打印序列化的內容,然後我們將這些內容加載回新的Properties對象,並且可以看到沒有數據丟失。這個程序的輸出:

Properties Contents: {<key>=<value>} 

Properties File Format: 
#<comment> 
#Sat Jul 23 23:50:50 EDT 2016 
<key>=<value> 

Properties Contents: {<key>=<value>} 

你應該能夠加載性能有沒有問題,這樣的符號文件。


如果您正在使用的XML文件格式(通過loadFromXML()storeToXML()),你需要escape < and >就像你任何XML文件內。如果您正在嘗試讀取/寫入XML,那麼非常有幫助在您的問題中提到。

相關問題