【发布时间】:2015-03-01 19:33:54
【问题描述】:
我在 /raw 文件夹中有一个名为“max_easy.txt”的 txt 文件,在这个文件中写入了一个数字,在本例中为“0”...我想要一个 var 其具有 0 作为 Int 值,如何我要这样做吗?
我猜这行给了我一个字符串值,我该如何转换它?
InputStream letturaEasy = getResources().openRawResource(R.raw.max_easy);
【问题讨论】:
我在 /raw 文件夹中有一个名为“max_easy.txt”的 txt 文件,在这个文件中写入了一个数字,在本例中为“0”...我想要一个 var 其具有 0 作为 Int 值,如何我要这样做吗?
我猜这行给了我一个字符串值,我该如何转换它?
InputStream letturaEasy = getResources().openRawResource(R.raw.max_easy);
【问题讨论】:
如果这是你目前得到的:
InputStream letturaEasy = getResources().openRawResource(R.raw.max_easy);
那么需要做的就是将其转换为字符串:
String result = getStringFromInputStream(letturaEasy);
最后,int:
int num = Integer.parseInt(result);
顺便说一句,getStringFromInputStream() 实现了here:
private static String getStringFromInputStream(InputStream is) {
BufferedReader br = null;
StringBuilder sb = new StringBuilder();
String line;
try {
br = new BufferedReader(new InputStreamReader(is));
while ((line = br.readLine()) != null) {
sb.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return sb.toString();
}
【讨论】:
您可以使用BufferedReader 从该文件中将行作为字符串读取。 Integer.parseInt 会将它们解析为整数:
try(BufferedReader reader = new BufferedReader(new InputStreamReader(letturaEasy, "UTF8")) ) {
int n = Integer.parseInt(reader.readLine());
}
【讨论】: