split(// s +)不要删除空格

时间:2011-10-11 08:22:45

标签: java string split

我需要读取很多文件并将数据插入到Ms sql中。 得到一个文件,看起来文本被// t分隔。 拆分不起作用,我甚至尝试使用“// s +”,你可以在下面的代码中看到

public void InsetIntoCustomers(final File _file, final Connection _conn)
{
    conn = _conn;
    try
    {

        FileInputStream fs = new FileInputStream(_file);
        DataInputStream in = new DataInputStream(fs);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));

        //String strline contains readline() from BufferedReader
        String strline;

        while((strline = br.readLine()) != null)
        {
            if(!strline.contains("#"))
            {

                String[] test = strline.split("//s+");


                if((tempid = sNet.chkSharednet(_conn, test[0] )) != 0)
                {
                  // do something
                }   
            }
        }

        // close BufferedReader
        br.close();
}

我需要知道我的String []中的数据放在一个500k行的文件中。但是我的Test []得到长度1,而来自readline的所有数据都在第0位。

我使用拆分错误吗? 或者还有其他我需要看的地方吗?:

// Mir

哈哈 - 非常感谢你 - 为什么我自己也没看到。 是的。我在所有其他文件中使用\ s +。 但是感谢你指出来。

1 个答案:

答案 0 :(得分:6)

正确的正则表达式是\\s+,带有反斜线而不是正斜杠。

您仍然可以使用\\t

进行尝试