java用原生方法读取resource目录下的json
时间: 2024-02-23 11:01:06 浏览: 107
可以使用以下代码读取resource目录下的json文件:
```java
import java.io.InputStream;
import java.util.Scanner;
public class ReadJsonFromResource {
public static void main(String[] args) {
InputStream inputStream = ReadJsonFromResource.class.getResourceAsStream("/data.json");
String jsonString = new Scanner(inputStream,"UTF-8").useDelimiter("\\A").next();
System.out.println(jsonString);
}
}
```
其中,`getResourceAsStream`方法可以获取resource目录下的文件输入流,使用`Scanner`类可以将输入流转换为字符串。以上代码假设json文件名为"data.json",如果文件名不同,需要相应修改。
相关问题
java1.8用原生方法读取resource目录下的json
在Java 1.8中,你可以使用以下代码来读取resource目录下的JSON文件:
```java
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
public class JsonReader {
public static void main(String[] args) {
String fileName = "example.json";
InputStream inputStream = JsonReader.class.getResourceAsStream("/" + fileName);
try {
String json = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
System.out.println(json);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这个例子中,我们首先定义了一个文件名`example.json`,该文件应该位于`src/main/resources`目录下。然后我们使用`getResourceAsStream`方法从resource目录中获取文件的InputStream。接下来,我们使用Apache Commons IO库的`IOUtils.toString`方法将InputStream转换为UTF-8编码的字符串。最后,我们将字符串打印到控制台上。
需要注意的是,`getResourceAsStream`方法的参数应该是以`/`开头的文件路径,这表示在classpath根目录下查找文件。如果你的文件在`src/main/resources/data`目录下,你应该使用`/data/example.json`来获取文件的InputStream。
另外,需要导入Apache Commons IO库的依赖:
```xml
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
```
阅读全文