Java实现读取项目中文件(.json或.properties)的方法详解
作者:百世经纶『一页書』 发布时间:2022-08-12 23:59:10
标签:Java,读取,文件
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>
来源:https://blog.csdn.net/weixin_43916074/article/details/129883052


猜你喜欢
- Log4j组件构成 Log4j由三个重要的组件构成:1.日志信息的优先级(Logger)2.日志信息的输出目的地(Appender
- 消息发送过程消息的发送可能会经过 * 、序列化、分区器等过程。消息发送的主要涉及两个线程,分别为main线程和sender线程。如图所示,主
- spring 容器的创建对应 SpringApplication 中 run 中调用的 createApplicationContext 方
- Autowired有两种注入方式by typeby name默认使用的是byType的方式向Bean里面注入相应的Bean。例如:@Auto
- Stream简化元素计算一、接口设计从Java1.8开始提出了Stream流的概念,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作
- 将Program类的删除,将里面的静态类Main修改后放入服务类中:partial class Server1 : ServiceBase&
- 一、Spinner的两种展示样式下拉列表的展示方式有两种,一种是在当前下拉框的正下方展示列表,此时把spinnerMode属性设置为drop
- 一、select是什么select——>用于选择更快的结果。基于场景理解比如客户端要查询一个商
- 为何使用分布式系统限流:在分布式环境中,我们的系统都是集群化部署,那么使用了单机版的限流策略,比如我们对某一个接口的限流方案是每秒钟最多10
- 1.使用的是maven项目,添加依赖<!-- mybatis-plus begin --> <depend
- 本文实例为大家分享了安卓实现单行多列横向滚动,供大家参考,具体内容如下<GridLayout android:layou
- 发一个库存程序,好像是几个礼拜之前写的吧,是一个用安卓实现的简易的计算器,写这个小程序之前,看了很多人写的计算器,觉得使用一个 EditTe
- 一 前言springboot 额外的特色是提供了后台应用监控,可以通过 HTTP 或者 JMX的方式管理监控应用,本文主讲HTTP方式;其主
- 目录栈溢出(虚拟机栈和本地方法栈)产生原因解决思路堆溢出产生原因解决思路方法区和运行时常量池溢出产生原因解决思路本机直接内存溢出产生原因解决
- 本文研究的主要是Flask实现异步非阻塞请求功能,具体实现如下。最近做物联网项目的时候需要搭建一个异步非阻塞的HTTP服务器,经过查找资料,
- 今天带大家实现滑动返回效果.,具体内容如下所示:先看看效果图:因为没有具体内容,也没有简书的图片资源,所以稍微简陋了点.但是依然不妨碍我们的
- 废话不多说,直接上代码/// <summary> /// 获得当前绝对路径
- 修订功能可以跟踪文档所有的修改,了解修改的过程,这对于团队协同文档编辑、审阅是非常有用的一个功能。将工作簿发送给他人审阅时,我们可以开启修订
- 先看看效果图:源码下载:Android Navigation TabBar控件实现多彩标签栏代码:MainActivity.javapack
- 1.新建一个项目2.给项目添加引用:Microsoft Excel 12.0 Object Library (2007版本)using Ex