我想把txt里面的数据按行读取出来,然后把每一行有用的数据包装称一个对象输出。
数据如下:
519029 华夏平稳增长混合型基金 1.281 1.257 1.962 -1.87 可申购可赎回 2012-3-28
上面的每一个字符串都是对象里面的一个元素,但是不懂的怎么把他们拆分开来

解决方案 »

  1.   

    java字符串有分割函数 : public String[] split(String regex)
    如:"a b c d e".split(" ") 分割后就是"a","b","c","d","e"五个字符串了
      

  2.   

    split可以定义多个分隔符的  ,可以使用符号“|”
      

  3.   

    public class rst {
    public static void main(String[] args){
    String[] result = "this     is a test".split("\\s+");
         for (int i=0; i<result.length; i++)
             System.out.println(result[i].length());
    }
     }
    输出结果是
    this
    is
    a
    test
      

  4.   

    String input = "519029 华夏平稳增长混合型基金 1.281 1.257 1.962 -1.87 可申购可赎回 2012-3-28";
    Scanner scanner = new Scanner(input).useDelimiter("\\s+");
    int r1 = scanner.nextInt();
    String r2 = scanner.next();
    double r3 = scanner.nextDouble();
    double r4 = scanner.nextDouble();
    double r5 = scanner.nextDouble();
    double r6 = scanner.nextDouble();
    String r7 = scanner.next();
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-M-d");
    Date r8 = formatter.parse(scanner.next());
      

  5.   

    使用正则表达式切割 
    String reg = " +";//多个空格
      

  6.   

    分隔符分割就好 public static void main(String[] args){
    String s = "519029 华夏平稳增长混合型基金 1.281 1.257 1.962 -1.87 可申购可赎回 2012-3-28";
    for(String str : s.split("\\s+")){
    System.out.println(str);
    }
    }
      

  7.   

    仅仅是空格数不同……对拆分出来的字符串作有效性筛选不就好了。 public static void main(String[] args) {
    String str = "519029 华夏平稳增长混合型基金 1.281  1.257  1.962  -1.87 可申购可赎回 2012-3-28";
    String ss[] = str.split(" "); for (String s : ss)
    if (s != null && s.length() > 0)
    System.out.println(s);
    }
      

  8.   

    RandomAccessFile类好像可以支持对文件内容的随机存储,用在你这种有格式的txt文件中应该效果不错吧