java 读取json文件的2种方式

这篇具有很好参考价值的文章主要介绍了java 读取json文件的2种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 背景介绍

研发过程中,经常会涉及到读取配置文件等重复步骤,也行是.conf文件,也许是.json文件,但不管如何他们最终都需要进入到jave的inputStream里面。下面以读取.json文件为例

2 FileInputStream读取

需要1个参数:
fileName: 文件名,一般为绝对路径,不然可能会找不到。或者和java文件同一个路径下

static String readWithFileInputStream(){
        String jsonString;
                //System.getProperty("user.dir")为获取根目录
                //File.separator为不同操作系统的分隔符,linux和win是不一样的
                //tempFilePath该字符串里面为我们配置文件的路径
               String fileName = "xx_config.json";
//                String tempFilePath = System.getProperty("user.dir") + File.separator + "resource" + File.separator + fileName;
//                System.out.print(tempFilePath);
        StringBuilder sb = new StringBuilder();
                try{
                    InputStream input = new FileInputStream(fileName);

                    byte[] buffer = new byte[1024];
                    int length = 0;
                    length = input.read(buffer);

                    while(length != -1){
                        sb.append(new String(buffer, 0 , length));
                        length = input.read(buffer);
                    }


                }catch (Exception e){
                    e.printStackTrace();
                }
        return    jsonString = sb.toString();
            }
      

最终返回一个String。然后通过JSON工具就可以转为自己想读取到模型啦。

    TargetConfig config = (TargetConfig) JSON.parseObject(jsonString, TargetConfig.class);
            

但该种方式不灵活,需要把路径写死,或者写成绝对路径。

3 ClassLoader读取

需要2个参数:
fileName: 文件名
ClassLoader: 类加载器,一般为当前类

    static String readWithClassLoader() throws IOException {
        String fileName = "xx_config.json";

       ClassLoader  classLoader =  TargetConfig.class.getClassLoader();

        BufferedReader reader = null;

            InputStream inputStream = classLoader.getResourceAsStream(fileName);

            reader = new BufferedReader(new InputStreamReader(inputStream));

            StringBuilder content = new StringBuilder();
            String line = reader.readLine();
            while (!StringUtil.isEmpty(line)) {
                content.append(line);
                line = reader.readLine();
            }

            return content.toString();
    }
      和之前一样,最终返回一个String。然后通过JSON工具就可以转为自己想读取到模型啦。
    TargetConfig config = (TargetConfig) JSON.parseObject(jsonString, TargetConfig.class);
            

但使用类加载读取,可以不用写死路径。比第一种要灵活很多。
java 读取json文件的2种方式文章来源地址https://www.toymoban.com/news/detail-510949.html

到了这里,关于java 读取json文件的2种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java读取文件的几种方式

    1. 使用流读取文件 2. 使用JDK1.7提供的NIO读取文件(适用于小文件) 3. 使用JDK1.7提供的NIO读取文件(适用于大文件) 4. 使用JDK1.4提供的NIO读取文件(适用于超大文件) 5. 使用cmmons-io依赖提供的FileUtils工具类读取文件 添加依赖: 6. 使用cmmons-io依赖提供的IOtils工具类读取文件 添加依赖:

    2024年02月16日
    浏览(39)
  • java 读取文件的几种方式

    在 Java 中有几种常用的方式来读取文件: 使用 FileInputStream 类以字节的方式读取文件。 使用 BufferedReader 在字符输入流上包装一个缓冲区,以行为单位读取文件。 使用 Scanner 类以分隔符为标志读取文件。 使用 Files 类的 readAllLines 方法一次性读取所有行。 使用 ObjectInputStream 反

    2024年02月14日
    浏览(33)
  • 如何使用 Java 将 JSON 文件读取为字符串?这三种方法很管用!

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,它可以用来存储和传输结构化的数据。在 Java 中,有多种方法可以将 JSON 文件读取为字符串,本文将介绍其中的几种。 java.io 包中提供了一些类,如 FileReader、BufferedReader、InputStreamReader 等,可以用来读取文件的内容。

    2024年02月01日
    浏览(73)
  • Java读取Properties配置文件的6种方式

    项目结构:经典的maven项目结构 配置文件1和2内容一致: 方法1和2区别: (classpath即为target/classes 这个目录) Class.getResourceAsStream() 从当前类所在的位置开始查找配置文件位置。要找到jdbc.properties和jdbc2.properties必须加/从classpath下开始查找 Class.getClassLoader().getResourceAsStream() 默

    2024年02月02日
    浏览(32)
  • Java NIO Files类读取文件流方式详解

    java.nio.file.Files 是Java标准库提供的一个工具类,用于操作文件和目录。它提供了一系列静态方法,可以用于创建、复制、删除、移动、重命名、读取、写入文件和目录等常见的文件系统操作。同时,它也提供了一些高级特性,如文件系统监控、文件属性操作等。在Java 7中引入

    2024年02月15日
    浏览(36)
  • Java如何读取文件文本内容的几种方式汇总

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java如何读取文件文本内容的几种方式汇总 - joshua317的博客 本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java如何读取文件文本内容的几种方式汇总 - joshua317的博客

    2024年02月12日
    浏览(58)
  • 读取JSON文件 如何在Unity中读取Json文件中的数据

    Josn是一种轻量级的数据交换格式,JSON能够描述四种简单的类型(字符串、数字、布尔值及null)和两种结构化类型(对象及数组),在Unity里经常用Json来处理大量的字符串,容易解析,效率非常快。 基本结构 1、语法 数据存在键值对中 数据由逗号分隔 花括号保存对象 方括号保存

    2024年02月15日
    浏览(32)
  • 045:Vue读取本地上传JSON文件,导出JSON文件方法

    第045个 查看专栏目录: VUE ------ element UI 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使用,computed,watch,生命周期(beforeCreate,created,beforeMount,mounted, beforeUpdate,upda

    2024年02月04日
    浏览(38)
  • Javascript读取json文件

    fetch(\\\'./data.json\\\') .then((response) = response.json()) .then((json) = console.log(json)); 我们已经能够读取本地 JSON 文件。但不幸的是,当我们在浏览器中运行它时,可能会收到以下 CORS 错误,因为我们的文件不在服务器上。 为了解决这个问题,我们将确保 JSON 文件位于本地或远程服务器上。

    2024年02月08日
    浏览(24)
  • C#读取json文件

    C# 读取 JSON 文件并读取某一个的值可以使用 Newtonsoft.Json 库。假设我们的 JSON 文件如下所示: 要读取其中的某一个的值,首先需要定义一个对应的实体类来存储 JSON 数据。例如,可以定义以下类: 然后,可以使用以下代码读取 JSON 文件,并将其反序列化为 Pers

    2024年02月13日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包