Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,什么格式可以轻松地写入txtFile?_Java_Json_Xml_Formatting_Gson - Fatal编程技术网

在java中,什么格式可以轻松地写入txtFile?

在java中,什么格式可以轻松地写入txtFile?,java,json,xml,formatting,gson,Java,Json,Xml,Formatting,Gson,我是Java新手。我很想知道,哪种格式最适合写在文本文件中 例如: 假设我有一个data.txt文件,可以在其中保存变量值 food : 100, play : 20, money : 50, sleep : 20, 所以,问题是:我怎样才能以良好的格式使用这个文本 我在谷歌上搜索,找到了解决方案xml、json、Gson。问题是我不知道如何在代码文件中实现这一点。 我想使用JSON(文本是否变成这样) 但问题是: 1.)它的外部库-对我来说不容易实现 2.)我的代码是可移植的-如果我在另一台

我是Java新手。我很想知道,哪种格式最适合写在文本文件中

例如:

假设我有一个data.txt文件,可以在其中保存变量值

food : 100,
play : 20,
money : 50,
sleep : 20,
所以,问题是:我怎样才能以良好的格式使用这个文本

我在谷歌上搜索,找到了解决方案xml、json、Gson。问题是我不知道如何在代码文件中实现这一点。 我想使用JSON(文本是否变成这样)

但问题是:

1.)它的外部库-对我来说不容易实现

2.)我的代码是可移植的-如果我在另一台PC上运行我的代码,并且还需要安装json lib for java,或者不需要


还有一个问题:java中是否还有其他格式可以使用?

您所说的格式良好是什么意思?您需要将这些数据发送到web服务吗?数据库

  • 你认识Maven还是Gradle?他们会为您处理依赖关系
  • 不,一旦您的代码被打包,它将附带它所需要的依赖项
  • 如果数据是简单的“String,Integer”,如果第一个字符串是唯一的,我会选择Map
  • 编辑:

    使用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,
    pizza : 5,
    money : 50,
    food : 100,
    

    如何使用地图?我在txtFile中只有字符串和整数。您能举一个使用地图的小例子吗?您可以简单地从该文件中读取数据,然后进行一些字符串格式化,并将数据放入地图中。例如,在逗号上使用拆分来分隔条目,然后在分号上使用拆分来获取mapI mean格式或易于阅读的密钥和值。不,我不需要将数据发送到web服务。不,我没有收到文件,我只是在创建文件并将我的值保存在该文件中。@BenoitvanaderWeireldt我在谷歌地图上搜索,发现了一些新的搜索结果。。树映射或哈希映射是什么?
    play : 20
    sleep : 20
    money : 50
    food : 100
    
    play : 20,
    sleep : 20,
    pizza : 5,
    money : 50,
    food : 100,