public static String[] readCmd() throws Exception
{
print("command>");
String str=br.readLine().trim();//忽略前导空白和尾部空白,中间的并没有滤掉
return str.split(" ");
}
command>  reserve  a  b   
name row col   bookNumber
=========================
     0   0     k99-0
a     0   1     k99-1
     0   2     k99-2
b     0   3     k99-3
command>
多读了两个空格

解决方案 »

  1.   

    可以得到数组后,继续对每个元素for循环进行trim操作,然后存进另一个数组,然后返回该数组。
      

  2.   

    用这句试试:
    String str=br.readLine().trim().replaceAll(" ","");
      

  3.   

    最后拆分字符串的时候可以str.split("[ +]")
      

  4.   

    楼主改成下面的试一试
    while((str=br.readLine())!=null){
    splitStr(str);
    //System.out.println(br.readLine());
    }
    public static void splitStr(String str){
    String[] s;
    str=str.trim();
    s=str.split(" ");
    /*for(Object o:s){//这里可以测试一下
    System.out.println(o);
    }*/
    return s;
    }
    我文件里面的内容: grgr gregre greg gr  ;
    输出结果:
    grgr
    gregre
    greg
    gr
    长度为4
      

  5.   

    String[] temp=str.split("\\ +");
    一个或多个空格匹配