本帖最后由 yeqin2012 于 2010-12-14 19:44:30 编辑

解决方案 »

  1.   

    现在当你已经将文件中的文字已经读取出来了,转二维数组String str = "able #adj*有才干的,能干的";
    a[0][0] = str.substring(0, str.indexOf("#"));
    a[0][1] = str.substring(str.indexOf("#")+1,str.indexOf("*"));
    a[0][2] = str.substring(str.indexOf("*")+1);
      

  2.   

    额 用了你的方法:
          File a = new File("h:/test.txt");
                 int i = 0;
                 String arr[][]= new String[30][40];
                 if(a.exists()){
                  FileInputStream fi = new FileInputStream(a);
                  InputStreamReader isr = new InputStreamReader(fi, "GBk");
                  BufferedReader bfin = new BufferedReader(isr);
                  String rLine = "";
                  while((rLine = bfin.readLine())!=null){
                  arr[i][0] = rLine.substring(0, rLine.indexOf("#"));
            arr[i][1] = rLine.substring(rLine.indexOf("#")+1,rLine.indexOf("*"));
                  arr[i][2] = rLine.substring(rLine.indexOf("*")+1);
                  i++;
                  }
                 }但是提示错误:
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1938)
    at Test.main(Test.java:39)
      

  3.   

    第一个要求大概有两个方法,(1)读文件,返回个list,(2)把list按照你的要求截取split,定义数组,返回的就是数组,然则for 循环取呗。
    第二个问题没看明白。