0

我正在阅读一个文件的内容

hello ja mes 24
how are yo22u

我正在使用以下代码从文件中读取并将其存储在ArrayList<Character>.

int readvalue;

ArrayList<Character> store=new ArrayList<Character>();

    while ((readvalue = bufferReader.read()) != -1)
    {    
        store.add((char)readvalue);
    }

    System.out.println(store);

这给了我这样的输出:

[h, e, l, l, o,  , j, a,  , m, e, s, , 2, 4, 
, h, o, w,  , a, r, e,  , y, o, 2, 2, u, 
]

我想将它们分组到一个数组的单个元素中。我希望输出如下:

hello ,  ,ja, ,mes, ,24,
,how, ,are, ,you22u

我怎样才能做到这一点?

4

1 回答 1

0

是的,有一种方法可以在不拆分的情况下做到这一点,将字符读取到缓冲区直到''或行尾,如果你得到它,将缓冲区保存到ArrayList并清除它以读取下一个单词


像那样

String s = "hello ja mes 24\n"
               + "how are yo22u";
    int readvalue;

    BufferedReader bufferReader = new BufferedReader(new StringReader(s));
    ArrayList<String> store=new ArrayList<String>();

    StringBuilder builder = new StringBuilder();
    while ((readvalue = bufferReader.read()) != -1)
    {
      if(readvalue!=' ' && readvalue!='\n'){
        builder.append((char)readvalue);
      }else{
        store.add(builder.toString());
        builder = new StringBuilder();
      }
    }

    store.add(builder.toString());

    System.out.println(store);
于 2013-10-04T15:28:02.287 回答