2015-02-06 42 views
0

我有一個計劃,在Java中,將數據保存到一個文本文件,並保存喜歡:如何從txt文件獲取「=」符號後的數據?

intdata = 2

StringData是=你好

我將如何讀來自文本文件的數據並指定我需要的值。假設我想要intdata值,它會返回等於之後的部分。如何在等於之後才返回零件?

+1

使用'String's – 2015-02-06 23:06:46

+0

@RyanJ的'split'功能,你可以提供一個例子嗎? – 2015-02-06 23:08:19

+3

有很多方法可以解決這個問題,但最簡單的方法可能是使用'java.util.Properties'類來完成所有這類數據的保存和加載,而不是試圖推出自己的。 – 2015-02-06 23:08:32

回答

0

如果您不關心它所附的密鑰:請使用String.split

Scanner scan = new Scanner(new File("file.txt")); 
String value = scan.nextLine().split("=")[1]; 

如果做些什麼附加到關鍵護理:結合使用String.splitMap

Scanner scan = new Scanner(new File("file.txt")); 
Map<String, String> values = new HashMap<>(); 
while(scan.hasNextLine()) { 
    String[] line = scan.nextLine().split("="); 
    values.put(line[0], line[1]); 
} 

或者,如果它是一個正確的.properties文件,你可以選擇使用Properties代替:

Properties propertiesFile = new Properties(); 
propertiesFile.load(new FileInputStream("file.txt")); 

// use it like a regular Properties object now. 
+0

那麼我怎麼會在指定它應該來自哪個字符串時使用它呢?就像我需要設置的數據=。 – 2015-02-06 23:11:13

+0

訪問第二個示例中的鍵('values.get(「settings」)')。或者如果它是屬性文件,則使用'propertiesFile.getProperty(「settings」)'。 – Makoto 2015-02-06 23:12:13

+0

好的,我會用第二個例子,但是有兩件事。 1.什麼時候打電話給while功能?和2.何時/如何調用value.get函數? – 2015-02-06 23:13:33

相關問題