Java实现读取项目中文件(.json或.properties)的方法详解

目录
  • 1. 读取json file
    • 1.1 Json dependency
    • 1.2 字节流
    • 1.3 buffer reader
  • 2. 读取properties file
  • 3. 好看的css样式

1. 读取json file

1.1 Json dependency

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.76</version>
        </dependency>

1.2 字节流

重点部分

  • . /代表同级目录
  • …/ 代表上级目录(两个点)
  • / 代表根目录
public class FileService {

    public JSONObject reader(){

        JSONObject resultJson = null;
        String file = "src/main/resources/config_dev.json";
        InputStream is = null;
        try {
            is = new FileInputStream(file);//操作
            byte[] bytes = new byte[5000];//数组容量超级大,一次能将中英混合文本全部读取完
            int len = -1;
            while ((len = is.read(bytes)) != -1) {
                String str = new String(bytes, 0, len, "UTF-8");
                resultJson = process(str);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {//释放资源
            try {
                if (null != is) {
                    is.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return resultJson;
    }

    private static JSONObject process(String content) {

        JSONObject json = JSONObject.parseObject(content);
        return json;
    }
}

1.3 buffer reader

  public static String reader(String filePath) {
      try {
          File file = new File(filePath);
          if (file.isFile() && file.exists()) {
              InputStreamReader read = new InputStreamReader(new FileInputStream(file), "UTF-8");
              BufferedReader bufferedReader = new BufferedReader(read);
              String lineTxt = bufferedReader.readLine();
              while (lineTxt != null) {
                  return lineTxt;
              }
          }
      } catch (UnsupportedEncodingException | FileNotFoundException e) {
          System.out.println("Cannot find the file specified!");
          e.printStackTrace();
      } catch (IOException e) {
          System.out.println("Error reading file content!");
          e.printStackTrace();
      }
      return null;
  }

2. 读取properties file

    public void readPropertiesFile() {

        Properties pro = new Properties();

        InputStream is = this.getClass().getResourceAsStream("/application.properties");
        try {
            pro.load(is);

            Enumeration en = pro.propertyNames();

            while (en.hasMoreElements()) {
                String key = (String) en.nextElement();
                String value = pro.getProperty(key);
                System.out.println(key + "--" + value);
            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }

3. 好看的css样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<link rel="stylesheet" href="https://qxhut.cn/zb_users/plugin/Jz52_click/click.css">
<script src="https://qxhut.cn/zb_users/plugin/Jz52_click/click.js"></script>
<h1>Click Style</h1>
</body>
</html>

到此这篇关于Java实现读取项目中文件(.json或.properties)的方法详解的文章就介绍到这了,更多相关Java读取项目文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java读取本地json文件及相应处理方法

    如下所示: //读取json文件地址 /* String path = getClass().getClassLoader().getResource("menu.json").toString(); path = path.replace("\\", "/"); if (path.contains(":")) { path = path.replace("file:/", ""); }

  • Java读取项目json文件并转为JSON对象的操作

    Java读取项目json文件并转为JSON对象 1.创建json文件(demo.json) { "button": [ { "type": "click", "name": "今日歌曲", "key": "V1001_TODAY_MUSIC" }, { "name": "菜单", "sub_button":

  • 利用java读取web项目中json文件为map集合方法示例

    前言 本文主要介绍了关于java读取web项目中json文件为map集合的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 实例介绍 假设当前项目web目录(/resource/test.json)下有一json文件如下: [ { "path": "content_111", "title": "文章1", "imgUrl": "../../../libs/img/ppt

  • java 如何读取properties文件

    1.情景展示 将要访问的接口地址等常用的配置添加到properties文件中,比直接写到java类中的好处在于: 当我们需要修改相应配置时,直接修改properties文件,重启tomcat即可,避免了重新编译引用该配置的java文件,同时,也便于项目的维护. 方式一 通过spring的工具类PropertiesLoaderUtils来实现对properties文件的解析 所需jar包:spring的核心jar包,spring-core-版本号.jar import java.io.IOExce

  • java项目中读取jdbc.properties文件操作

    java内容 Properties props = Resources.getResourceAsProperties("jdbc.properties"); String url = props.getProperty("jdbc.url"); String driver = props.getProperty("jdbc.driverClass"); String username = props.getProperty("jdbc

  • Java读取properties配置文件的8种方式汇总

    目录 一.前言 二.Properties类 三.Properties常用方法实践 四.Java写入Properties 五.Java读取Properties 六.Properties配合Spring框架使用 七.完整代码 总结 一.前言 在做Java项目开发过程中,涉及到一些数据库服务连接配置.缓存服务器连接配置等,通常情况下我们会将这些不太变动的配置信息存储在以 .properties 结尾的配置文件中.当对应的服务器地址或者账号密码信息有所变动时,我们只需要修改一下配置文件中的信息即可.同时

  • Java实现读取项目中文件(.json或.properties)的方法详解

    目录 1. 读取json file 1.1 Json dependency 1.2 字节流 1.3 buffer reader 2. 读取properties file 3. 好看的css样式 1. 读取json file 1.1 Json dependency <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>

  • Vue项目中打包优化的四种方法详解

    目录 前言 打包优化的目的: 性能优化的主要方向: 1.异步组件配置(路由懒加载) 2.去掉打包后的 console 3.使用CDN 4.yarn build生成dist目录 总结 前言 默认情况下,通过import语法导入的第三方依赖包,最终会全部打包到一个js文件中,会导致单文件体积过大大,在网速底下时会阻塞网页加载,影响用户体验. 打包优化的目的: 1.项目启动速度,和性能 2.必要的清理数据 3.减少打包后的体积 第一点是核心,第二点呢其实主要是清理console 性能优化的主要方向:

  • TS 项目中高效处理接口返回数据方法详解

    目录 写在前面 问题 解答 区别 总结 必备高效神器 写在前面 在 TypeScript 项目中,TypeScript 对接口返回数据的处理,是日常项目开发中一个比较棘手的问题. 那我们该如何 高效 的解决这个问题呢? 问题 项目中使用 ts 都会碰到如下场景:从接口请求过来的数据该如何进行处理? const fetchInfo = async (url: string, id: string) => { return $http.get(url, params); } const res =

  • Python PyQt5实战项目之文件拷贝器的具体实现详解

    目录 简介 UI设置 主要逻辑 信号与槽 成果展示 简介 写了一个简单的文件夹内容下所有文件复制到另一个文件夹内,主要逻辑代码是来自<2小时玩转python多线程编程>中的一个章节. UI设置 def ui_init(self): ''' 界面的函数 ''' self.setWindowTitle('拷贝器') self.resize(600,400) self.setMinimumSize(600,400) # 设置窗口的最小值 '''控件''' self.root_btn = QPushB

  • webpack项目中使用vite加速的兼容模式详解

    目录 前言 目的 要处理的问题 动手 共用 index.html 共用配置 兼容环境变量 自动导入 资源引入 svg-sprite-loader 替代方案 其他 效果 前言 随着公司前端工程越来越大,启动是无尽的等待,修改是焦急的等待. vite 到现在生态也起来了,就有了把项目改造成 vite 的想法,但是项目后面可能要依赖 qiankun 改造成微前端项目,现在 qiankun 对 vite 还没有好的解决方法,我就想采取一个折中的办法,保留 webpack,再兼容 vite,两条路都留着.

  • Flutter在项目中使用动画不使用包实现详解

    目录 前言 正文 1 按下按钮柔软的感觉 2 想要一个像 Instagram 一样的喜欢按钮吗? 3 动画页面过渡 4 动画文字 5 更改/闪动文本样式 前言 动画对于 web 和移动应用程序都非常重要.但是在移动应用程序中不应该使用夸张的动画.简单但是很多动画使你的应用程序更好用.以至于当你点击一个按钮时,一种平滑的感觉或者页面过渡都会影响到你. 正文 1 按下按钮柔软的感觉 class _CustomButtonState extends State<CustomButton> with

  • Java的JSON处理器fastjson使用方法详解

    fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发. 主要特点: • 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson) • 强大(支持普通JDK类包括任意Java Bean Class.Collection.Map.Date或enum) • 零依赖(没有依赖其它任何类库除了JDK) 示例代码: import com.alibaba.fastjson.JSON; Group group = new Group

  • 对python读取zip压缩文件里面的csv数据实例详解

    利用zipfile模块和pandas获取数据,代码比较简单,做个记录吧: # -*- coding: utf-8 -*- """ Created on Tue Aug 21 22:35:59 2018 @author: FanXiaoLei """ from zipfile import ZipFile import pandas as pd myzip=ZipFile('2.zip') f=myzip.open('2.csv') df=pd.r

  • Linux查看日志文件写入速度的4种方法详解

    目录 简介 使用dd 使用pv 使用cv命令 编写小脚本 举一反三 简介 有时,我们需要查看某个文件的增长速度,如日志文件,以此来感受系统的负载情况,因为一般情况下,日志写入越快,说明系统负载越重. 本文就来介绍下Linux中查看日志增长速度的几种方法,如下: 使用dd 首先要介绍的是dd,因为dd命令几乎所有主流发行版都自带,无需额外安装,如下: $ tail -F app.log | dd of=/dev/null status=progress 3875840 bytes (3.9 MB)

  • SpringCloud实现文件上传功能的方法详解

    目录 图片上传 搭建项目 编写上传功能 图片上传 刚才的新增实现中,我们并没有上传图片,接下来我们一起完成图片上传逻辑. 文件的上传并不只是在品牌管理中有需求,以后的其它服务也可能需要,因此我们创建一个独立的微服务,专门处理各种上传. 搭建项目 创建SpringCloud项目 添加依赖 我们需要EurekaClient和web依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo

随机推荐