如何将 InputStream 转换为 int

How to convert InputStream to int

我在 /raw 文件夹中有一个名为 "max_easy.txt" 的 txt 文件,在这个文件中写入了一个数字,在本例中为“0”...我想要一个具有 0 作为 Int 值的 var ,我该怎么做?

我想这一行给了我一个字符串值,我该如何转换它?

InputStream letturaEasy = getResources().openRawResource(R.raw.max_easy);

您可以使用 BufferedReader 从该文件中读取行作为字符串。 Integer.parseInt 会将它们解析为整数:

try(BufferedReader reader = new BufferedReader(new InputStreamReader(letturaEasy, "UTF8")) ) {
    int n = Integer.parseInt(reader.readLine());
}

如果这是你目前得到的:

InputStream letturaEasy = getResources().openRawResource(R.raw.max_easy);

然后需要做的就是将其转换为 String:

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();     
}