NumberFormatException:For input string

开发过程中遇到这个问题
java.lang.NumberFormatException:For input string:“12”

Caused by: java.lang.NumberFormatException: For input string: "12"

原因:读取的文件编码格式 并不是UTF-8的,是UTF-8 BOM编码格式的,才导致这个异常
异常如下:

Caused by: java.lang.NumberFormatException: For input string: "12"
        at java.lang.Integer.parseInt(Integer.java:608)
        at java.lang.Integer.parseInt(Integer.java:643)
        at com.example.testdemo.MainActivity.test(MainActivity.java:34)
        at com.example.testdemo.MainActivity.onResume(MainActivity.java:26)
        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1354)
        at android.app.Activity.performResume(Activity.java:7079)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3620)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3685) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2898) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
        at android.os.Handler.dispatchMessage(Handler.java:105) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6541) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

android 开发时,assets目录中有一个abc.txt文件,读取字符串并解析成数字时,出现异常。上代码

public void test() {
    
    
        try {
    
    
            InputStream inputStream = this.getAssets().open("abc.txt");
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
            String str = bufferedReader.readLine();
            int aaa = Integer.parseInt(str);
            Log.i(TAG, "test aaa: " + aaa);
        } catch (IOException e) {
    
    
            Log.e(TAG, "test: " + e.getMessage());
        }
    }

在这里插入图片描述
最终找到原因是abc的编码格式问题
右键文件,Remove BOM即可
在这里插入图片描述
再次运行代码 正常输出。

另外,Android Studio 4.0 新版使用介绍
在这里插入图片描述
窗口视图是代码模式,设计模式,代码设计模式 在这里调节。

Gradle编译使用离线模式,在这调节
在这里插入图片描述

java.lang.NumberFormatException:For input string:“undefined”
AndroidStudio非法字符: '\ufeff’解决

猜你喜欢

转载自blog.csdn.net/w690333243/article/details/106820644