这里有一个json文件 student.json, 现在我们需要在项目中读取该文件,并将其转成 String 字符串。
student.json文件内容如下所示,其在电脑中的绝对路径为:D:\coding_Myself\Project-STS\Project-01\demo-1\src\main\resources\file 。
{
"stuNbr":"STU0014",
"createDate":"1583141481083",
"name":"张三",
"stuId":"100004513437"
}
在这里,通过 File 类获取 student.json 文件,之后使用Apache下的 common-io.jar 包中的 FileUtils 类来将 json 文件读取成 String 字符串。 需要注意的是,在Linux系统中,若想对文件进行读取,文件路径需要为绝对路径。
在代码中使用的 common-io.jar 的 xml 依赖为:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
具体代码如下:
package com.commons.io;
import java.io.File;
import org.apache.commons.io.FileUtils;
public class TestFileUtils {
public static void main(String[] args) {
String root1 = System.getProperty("user.dir"); // 获取该项目在系统中的具体路径,'user.dir'是系统变量。
System.out.println("root1为: " + root1);
String commonPath = File.separator + "src"
+ File.separator + "main"
+ File.separator + "resources"
+ File.separator + "file";
String fileName = "student.json";
String filePath = root1 + commonPath + File.separator + fileName;
System.out.println("filePath为:" + filePath);
File file = new File(filePath);
try {
String strFile = FileUtils.readFileToString(file, "utf-8");
System.out.println("strFile为:" + strFile);
} catch (Exception e) {
System.out.println("错误信息为:" + e.toString());
}
}
}
程序运行后,控制台日志文件如下所示:
root1为: D:\coding_Myself\Project-STS\Project-01\demo-1
filePath为:D:\coding_Myself\Project-STS\Project-01\demo-1\src\main\resources\file\student.json
strFile为:{
"stuNbr":"STU0014",
"createDate":"1583141481083",
"name":"张三",
"stuId":"100004513437"
}