java - Android 从文本文件解析数字时出现 Invalid Int 错误

标签 java android integer

我的网站中有一个 .txt 文件,其中包含一个数字(在本例中为 3),我使用此代码来检查该数字是否大于或小于另一个数字,但该代码给出了以下错误:

03-03 16:27:43.734: E/AndroidRuntime(16318): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.downloadingprogressbar/com.example.downloadingprogressbar.MainActivity}: java.lang.NumberFormatException: Invalid int: "3

这是我的代码:

HttpGet httppost = new HttpGet("http://mywebsite.org/version.txt");
    HttpResponse response;
    try {
        response = httpclient.execute(httppost);
        HttpEntity ht = response.getEntity();

        BufferedHttpEntity buf = new BufferedHttpEntity(ht);

        InputStream is = buf.getContent();


        BufferedReader r = new BufferedReader(new InputStreamReader(is));

        StringBuilder total = new StringBuilder();
        String line;
        while ((line = r.readLine()) != null) {
            total.append(line + "\n");
        }
        String casa = new String(total.toString());

        //boolean version = (casa>4);
        if (Integer.parseInt(casa)>4){
            risposta.setText("la tua versione è aggiornata");
        }
        else {
            risposta.setText("aggiorna la tua versione");
        }

最佳答案

我同意 Kon 的观点,你的变量“casa”包含其他字符。

尝试使用trim()方法:

 if (Integer.parseInt(casa.trim())>4){
...
...
...

但现在我看到你在总变量中附加了“\n”,这个“新行”有必要吗?:

 while ((line = r.readLine()) != null) {
            total.append(line);
        }

关于java - Android 从文本文件解析数字时出现 Invalid Int 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28835873/

相关文章:

javascript - Android Espresso WebView webClick() 和 webKeys() 不会触发输入字段上的模糊事件

c - C 整数文字如何工作?

c++ - 计算用户使用循环输入的整数数量

java - 无法在 glassfish 上运行或部署我的项目

java - 从 JSON 对象获取数组

java - 为什么字符串 '35/35/1985` 解析为 `Sat Dec 05 00:00:00 IST 1987` 日期对象?

Android - View.OnLayoutChangeListener 和 ViewTreeObserver.OnGlobalLayoutListener 的区别

c - 当 double 转换为 int 时,最后一位数字丢失

java - JAVAFX 骰子的最后值

java - 读取 JScrollPane 的内容