对于 05年04月03日08时_TestString(05040308),StreamTokenizer.ttype == TT_NUMBER,
对于 G05年04月03日08时_TestString(05040308),StreamTokenizer.ttype == TT_WORD,
但得不到整个字符串。

解决方案 »

  1.   

    为什么不用BufferedReader的readLine() ?
      

  2.   

    读文件不用 StreamTokenizer 
    就象楼上说的那样,拿BufferedReader的readLine()
      

  3.   

    这是一个完整的字符串,但用 StreamTokenizer 来读时,.sval 返回 null,而 .nval 则返回 5.0,
    ---------------------------
    这个没办法,当StreamTokenizer读到05时,它的ttype == TT_NUMBER,nval则返回double类型5.0
    你可以用BufferedReader的readLine() A05年04月03日08时_TestString(05040308)则 .sval 返回 A05年04月03日08时
    ------------------------------------
    你可以用.wordChars('_', '_');默认的它会把'_'当成分隔符
      

  4.   

    首先谢谢各位参与!我的文件是文本格式,前面是一些类似于文件头信息的东西,后面是一大堆标准的m*n格点数据,我要把这些格点数据读到一个 double data[m][n] 数组中,如果用 BufferedReader 则很不好确定数组下标。大家还有什么建议吗?
      

  5.   

    就readeLine也很简单啊
    读一行得到的是一个字符串,然后用你的分隔符分成n个字符串
    行可以读一行记数一次得到行号,列嘛split出来就是数组,直接赋给一列就行了
      

  6.   

    楼上兄台,M*N 的数组并不一定是 M 行 N 列存放的。偶最终还是用 FileReader 的 readLine 方法,把每行分解,得到的内容添加到 Vector 中。