解决方案 »

  1.   

    已经用“,”分割开了,我的问题是不知道怎么将分割好的文本取出来,再付值给STRING型啊
      

  2.   

    http://www.mhdn.net/p/2002-10-10/6066.html
      

  3.   

    你不是一行就一个记录吗?读出一行后赋给一个stringbuffer,就用subString()取每个字段的值,我是java新手来的,我想应该是这样吧。写文本数据的时候我建议你规定每个字段的宽度,这样读出来就方便多了
      

  4.   

    不啊,基本上是3行显示一条记录,而且记录间不分行啊
    那位大侠快帮帮我啊,最好有原代码的,,,
    下面是2条记录的摘抄BEJA0038304,A,李宏菊,XXX,1973-01-12,李宏菊,110108730112634,XXX,100011,64252305,EL0806,BEJ001EL0803513,2000-10-12,20000.00,BEJ1010303,BEJB0589,吴蔚,
    j000072,A,李永乐,XX,1955-11-01,李永乐,110101551101353,XXX,100026,65936924,EL0804,
      

  5.   

    用字串分析类,StringTokenizer 以逗号为分隔符分析,根据字段数求模来区分下一条记录!
      

  6.   

    可以用逗号来区分字段
    用回车来区分记录
    这就需要在编辑txt时,要设计好
    你就读就是了,逗号逗号之间就是字段,遇到回车,一条记录就over
    插入就ok了
      

  7.   

    同意dugang106(冷风细雨)的,读一行文本向数据库里面写入一行!
      

  8.   

    在现在这种情况下同意sunthing(我不懂) 的,条件就是每条记录的字段一样,就是没有值也要加一个分号就可以实现
      

  9.   

    http://wla.8143.com/bbs/dispbbs.asp?boardID=8&ID=33
    fso不知道对你有没有帮助
      

  10.   

    表中的列是固定的,那么你可以一次循环读出n*列数,这样就读出了n条记录,然后将声明一个n*列数的数组,通过数组循环或者类型改变再放到数据库中。这个问题的难度在于读文本和类型转换
      

  11.   

    可以利用stringbuffer去做,文本中的数据可以利用gettext()方法返回一个string串,将他利用stringbuffer 的构造函数,确定他的分割副就可以了。
      

  12.   

    下面这个方法是用来读去文本中的内容,并且返回一个字符串,然后你可以对这个字符串进行分析,或者修改一下这段代码,在里面处理。
    public String read()
    {
    StringBuffer strbuf = new StringBuffer();
    File aFile = new File("E:/test.txt");
    FileInputStream inFile = null; try
    {
    inFile = new FileInputStream(aFile);
    }
    catch (FileNotFoundException fnfe)
    {
    fnfe.printStackTrace();
    System.exit(1);
    } FileChannel inChannel = inFile.getChannel();
    ByteBuffer buf = ByteBuffer.allocate(48);
    try
    {
    int remain = 0;
    while (inChannel.read(buf) != -1)
    {
    remain = buf.remaining();
    byte[] bytes = buf.array();
    strbuf = strbuf.append(new String(bytes));
    buf.clear();
    }
    System.out.println("EOF reached.");
    String str =
            strbuf.toString().substring(0,strbuf.toString().length()-remain);
    System.out.println(str);
                   
    inFile.close();
    return str;
    }
    catch (IOException ioe)
    {
    ioe.printStackTrace();
    System.exit(1);
    } return null;
    }
      

  13.   

    iceandfire(【OPENSOURCE】) 
    你好,我运行了一下你的代码,报了3个错误啊,我还是看不太懂,可以加上注释吗,谢谢
      

  14.   

    用java.util.StringTokenizer吧。String str="...,...,...,...,....,...."; // 此行文本是你从文件中读入的
    String sDelim = "," // 分隔符(与字符串中的分隔符就相同)java.util.StringTokenizer st = new java.util.StringTokenizer(str,sDelim);
    while(st.hasMoreTokens()){
      String s = st.nextToken(); // 取出的字符串
      ... ...
    }/*
      如此使用的前提:每一行数据为一条数据库记录,字段值之间用分隔符分开。  如:
       String str = "张三,1978-05-24,4521780524009,XX省XX市";
       String sDelim = ",";
       int number=4;
       String[] array = new String[number]; // 有4个字段(仅保存一条记录的内容)
       StringTokenizer st = new StringTokenizer(str,sDelim);
       int num=0;
       while(st.hasMoreTokens()){
         array[num]=st.nextToken(); // 取出的字符串
         num++;
       }
       string sql = "insert into tablename values(?,?,?,?)";
       PreparedStatement pstmt = conn.prepareStatement(sql);// 生成
       for(int i=0;i<=number;i++){
         pstmt.setString(i+1,array[i]);
       }
       ....;// 执行数据库插入
    */
      

  15.   

    上面的更改一下:
       for(int i=0;i<number;i++){
         pstmt.setString(i+1,array[i]);
       }
      

  16.   

    我的代码要有JDK1.4的支持,因为里面用到了通道。