请,
我知道这个问题已被问过很多次,但我仍然无法让我的代码运行。
我的 Assets 文件夹中有一个名为 Words.txt 的文本文件。该文本文件的每一行中每行一个单词,没有空行。我想将每个单词放入一个数组中。
首先我尝试使用扫描仪,但在阅读了许多 stackoverflow 线程后,我发现我需要使用 AssetManager。
这是我尝试过的:
AssetManager assetManager = getAssets();
InputStream inputStream = assetManager.open("words.txt");
它给了我错误消息:默认构造函数无法处理隐式 super 构造函数抛出的异常类型 IOException...
在我做任何其他事情之前。我不知道这意味着什么。
另外,查看api,似乎InputStream只能读取字节。如何从文本文件中读取单词?
这些线程是压倒性的,因为似乎每个答案都提出了不同的方法,使用 InputStreams、BufferedStreams、FileInputStreams、File、Res 文件夹、Asset 文件夹和许多我不熟悉的其他语言。我刚刚学习开发 Android 应用程序,java 经验有限。
最佳答案
您可以按如下所示进行操作:
try {
BufferedReader bReader = new BufferedReader(new InputStreamReader(getAssets().open("file.txt")));
ArrayList<String> values = new ArrayList<String>();
String line = bReader.readLine();
while (line != null) {
values.add(line);
line = bReader.readLine();
}
bReader.close();
for (String v : values)
Log.i("Array is ", v);
} catch (IOException e) {
e.printStackTrace();
}
关于java - 从 Assets 文件夹中的文本文件加载数组 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20781060/