2016-03-04 56 views
0

我是Java新手。我很想知道,哪種格式最適合在文本文件中編寫。什麼格式可以在java中輕鬆寫入txtFile?

例如:

想,我有一個的data.txt文件,在那裏我可以節省我的變量的值。

food : 100, 
play : 20, 
money : 50, 
sleep : 20, 

所以,問題是:我怎樣才能使用這個文本以及格式?

我在Google上搜索,發現解決方案xml,json,Gson。問題是我不知道在codeFile中實現這一點。 我想用JSON(文字變成這個樣子與否)

{"Values": { 
    "food": 100, 
    "play": 20, 
    "moeny": 300, 
    } 
} 

,但問題是:

1)它的外部LIB - 不容易實現我。

2.)我的代碼是可移植的 - 如果我在另一臺PC上運行我的代碼,並且還會爲java安裝json庫嗎?

還有一個問題:在java中是否有其他任何可以使用的格式?

回答

0

你是什麼意思格式好?你需要將這些數據發送到Web服務嗎?一個數據庫?

  1. 你知道嗎Maven或Gradle?他們會照顧你的依賴關係。
  2. 不,一旦你的代碼被打包,它就會伴隨着它所需要的依賴。
  3. 如果數據是簡單的「字符串,整數」,如果第一個字符串是獨一無二的,我會去一個地圖

編輯:

簡單的例子(讀/寫)與HashMap的:

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.util.HashMap; 
import java.util.Map; 
import java.util.Scanner; 
import java.util.regex.Pattern; 

public class MapScanner { 

    public static void main(String[] args) throws IOException { 
     //Reading entries 
     Scanner scanner = new Scanner(new File("data")); 
     scanner.useDelimiter(Pattern.compile(",(\n)?")); 

     final Map<String, Integer> entries = new HashMap<>(); 
     while(scanner.hasNext()){ 
      final String entry = scanner.next(); 
      final String[] entrySplited = entry.split(":"); 

      entries.put(entrySplited[0].trim(), new Integer(entrySplited[1].trim())); 
     } 

     for(String key : entries.keySet()){ 
      System.out.println(key + " : " + entries.get(key)); 
     } 

     scanner.close(); 

     //Adding a new entry in memory 
     entries.put("pizza", new Integer(5)); 

     //Saving all entries in the data file 
     try(BufferedWriter bw = new BufferedWriter(new FileWriter("data"))){ 
      for(String key : entries.keySet()){ 
       bw.write(key + " : " + entries.get(key) + ","); 
       bw.flush(); 
       bw.newLine(); 
      } 
     } 
    } 
} 

它打印:

play : 20 
sleep : 20 
money : 50 
food : 100 

和文件等於to後o:

play : 20, 
sleep : 20, 
pizza : 5, 
money : 50, 
food : 100, 
+0

我該如何使用Map?我在txtFile中只有字符串和整數。你能舉一個使用地圖的小例子嗎? – hijckBoy

+0

您可以簡單地從該文件讀取數據,然後執行一些字符串格式設置並將數據放入地圖中。例如,使用逗號分隔來分隔條目,然後分割分號以獲得您的映射的鍵和值。 – Alk

+0

您是否正在接收需要格式化的文件? –

相關問題