【问题标题】:Get int from text file and set it to variable从文本文件中获取 int 并将其设置为变量
【发布时间】:2012-10-09 02:29:13
【问题描述】:

我正在尝试获取具有如下文本的文本文件的 int 值:

123456789 12345678 1234567 123456 12345 1234 123 12 1

正如您所见,每个数字都不同,它们位于同一行,由“空格”隔开。我需要将值分开。得到这样的东西:

INT1 = 123456789, INT2 = 12345678, INT3 = 1234567;

等等。我不创建文本,所以我不知道它们有多少数字和组,但它们总是用“空格”分隔。我知道怎么读。这就是我的阅读方式:

try {
    TEST1 = new BufferedReader(new FileReader("/sdcard/test.txt")).readLine();

    } catch (NumberFormatException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    TEST.setText(""+scaling_available_frequencies);

我得到了这个输出

194208 776175 958253 767883 700246 243663 966618 345199 945363 459833

注意:这只是我创建的一个 test.txt 以查看它是否有效。当前代码将要求用户输入路径和文件名。

现在如何将它们设置为每个组的变量?

谢谢

【问题讨论】:

    标签: android text filereader


    【解决方案1】:

    这是将字符串解析为整数数组的一种方法:

    public int[] toIntArray( String stringFromFile ){
    
        String[] allStrings = stringFromFile.split( "\\s" );
        int[] intArray = new int[allStrings.length];
        for( int i = 0; i < allStrings.length; ++i ){
            try{
                intArray[i] = Integer.parseInt( allStrings[i] );
            }catch( NumberFormatException e ){
                // Do whatever you think is appropriated
                intArray[i] = -1;
            }
        }
        return intArray;
    }
    

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      我相信 readLine() 可以得到你的字符串。 您将需要使用 String 的 Split() 方法并传入正则表达式(空格)。

      那么您将需要使用 Integer.parseInt( ) 方法并传入每个字符串以将它们解析为 Integer。 您还需要一个循环来进行解析,直到什么都不剩

      【讨论】:

      • 是的,我知道这是给我一个字符串,但是由于空格,我必须这样设置它,我将搜索那个 Split() 并看看我能做什么
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 2022-09-30
      • 2016-10-08
      • 2012-05-04
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      相关资源
      最近更新 更多