2016-03-04 63 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

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

相关问题