如何在 Kotlin 中从 resources 读取文本文件?
大家好!我是 Kotlin 新手(从 Java 转过来),遇到了一个问题:无法从 resources 文件夹读取文本文件。我有一个简单的 Gradle 项目,把 `data.txt` 放在了 `src/main/resources/` 中。在 Java 中,我会这样写:
```java
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("data.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
```
但在 Kotlin 中,我尝试写类似的代码,要么编译失败,要么抛出 NullPointerException。以下是我尝试过的:
```kotlin
fun readFile() {
val inputStream = this::class.java.classLoader.getResourceAsStream("data.txt")
val reader = BufferedReader(InputStreamReader(inputStream))
reader.use { it.readText() }
}
```
编译器报错 `this::class.java.classLoader`,说 `this` 不在正确的上下文中。而如果我调用