我不能相信我必须要求这么简单的问题,但似乎我无法找到解决方案。我在一个txt文件中有10个名字,我想创建一个具有这些名称的String数组。名称每行配置为1个名称,因此总共有10行。我试过这段代码
String[] txtToString() throws IOException {
Scanner s = null;
String[] string = new String[10];
int count = 0;
try {
s = new Scanner(new BufferedReader(new FileReader(
"file:///android_res/raw/words.txt")));
while (s.hasNext()) {
count++;
string[count] = s.next();
}
} finally {
if (s != null) {
s.close();
}
}
return string;
}
但它没有用。我还尝试过将#34; words.txt"作为文件路径但仍然没有。谢谢您的帮助。 附:由于某些未知原因,我无法导入java.nio.file.Files,因此它必须是不能使用该导入的东西。再次感谢。
答案 0 :(得分:1)
尝试交换这两行:
count++;
string[count] = s.next();
目前你的计数变量从1到10,而不是像你想要的那样从0到9。
答案 1 :(得分:0)
试试这个
while (s.hasNext()) {
string[count++] = s.next();
}
答案 2 :(得分:0)
好吧我解决了使用这种方法:
String[] txtToString() {
String[] string = new String[10];
int count = 0;
try {
Resources res = getResources();
InputStream in = res.openRawResource(R.raw.words);
BufferedReader reader = new BufferedReader(
new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
string[count] = line;
count++;
}
} catch (Exception e) {
// e.printStackTrace();
}
return string;
}
从txt文件中返回10个元素的字符串数组" words.txt#34;