String[] lineItems=line.split("=");
得到的数组长度是2,怎么能用下标2访问呢??

解决方案 »

  1.   

    只要   System.out.println(lineItems[1]);
     就报错 java.lang.ArrayIndexOutOfBoundsException: lineItems[1] 里的是我要的子段!
      

  2.   


    我是要把txt 文件分解。 然后保存到数组里,再插到数据库里,可我遇到难点:
    1.怎么循环插入(找到一行子符串 ,分解后,保存到数组里,插入数据库 )如:取到一行 
                单位名称    舟山市普陀区发展和改革局
    单位名称 保存lineItems[0]   舟山市普陀区发展和改革局保存 lineItems[1]String sqlstr="insert into ip (ip1,ip2) values('"+lineItems[0]+"','"+lineItems[1])";
      

  3.   

    实际只要两个
    String sqlstr="insert into ip (ip1,ip2) values('"+lineItems[0]+"','"+lineItems[1])";
      

  4.   

    我是要把txt 文件分解。 然后保存到数组里,再插到数据库里,可我遇到难点:
    1.怎么循环插入(找到一行子符串 ,分解后,保存到数组里,插入数据库 )如:取到一行 
                单位名称    舟山市普陀区发展和改革局
    单位名称 保存lineItems[0]   舟山市普陀区发展和改革局保存 lineItems[1]String sqlstr="insert into ip (ip1,ip2) values('"+lineItems[0]+"','"+lineItems[1])";
    这是新的:     import java.io.*; 
     import java.util.*; 
     import java.sql.*;
     import javax.sql.*;
     import javax.naming.*;
    public class ph {
    public static void main(String[] args) {

    try {


    // 驱动程序名
    String driverName="com.mysql.jdbc.Driver";
    // 数据库用户名
    String userName="sa";
    // 密码
    String userPasswd="sa";
    // 数据库名
    String dbName="jdsh";
    // 表名
    String tableName="ip";
    // 联结字符串
    String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    Connection connection=DriverManager.getConnection(url);
    Statement stmt = connection.createStatement();

    File file = new File("d:\\sin.txt"); RandomAccessFile dataFile=new RandomAccessFile(file, "r"); String line=dataFile.readLine();
    while(line!=null)
    {
    line=new String(line.getBytes("ISO_8859_1"),"GBK");
    String[] lineItems=line.split("=");
      String sqlstr="insert into ip (ip1,ip2) values('"+lineItems[0]+"','"+lineItems[1]+"')";
    //stmt.executeUpdate(sqlstr);
     System.out.println(sqlstr);

    // System.out.println(lineItems[0]);

     line=dataFile.readLine();
    }
    dataFile.close();
    // stmt.close();
    } catch (Exception e) {

    e.printStackTrace();
    }}}
      

  5.   

    String line;
    while((line==dataFile.readLine())!=null)
    {
    line=new String(line.getBytes("ISO_8859_1"),"GBK");
    String[] lineItems=line.split("=");
    String sqlstr="insert into ip (ip1,ip2) values('"+lineItems[0]+"','"+lineItems[1]+"')";
    //stmt.executeUpdate(sqlstr);
    System.out.println(sqlstr);// System.out.println(lineItems[0]);
    }
      

  6.   

    请问我 System.out.println(lineItems[1]);java.lang.ArrayIndexOutOfBoundsException:越界?怎么办?