split (// s +) не удаляет пробелы - PullRequest
       1

split (// s +) не удаляет пробелы

0 голосов
/ 11 октября 2011

Мне нужно прочитать много файлов и вставить данные в Ms sql. Получил файл, похоже, тексты разделены // т. Split не выполняет эту работу, я даже пытался с "// 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();
}

Мне нужно знать, где в моей строке [] данные помещаются в файл с 500k строк. Но мой Test [] получает длину 1 и все данные из readline находятся на месте 0.

Я неправильно использую сплит? Или есть другие места, которые мне нужно посмотреть?:

// Мир

хаха - Большое спасибо - почему, черт возьми, я этого не видел сам. да, оф. Я использую \ s + во всех других файлах. но спасибо за указание на это.

1 Ответ

6 голосов
/ 11 октября 2011

Правильное регулярное выражение: \\s+, с обратными косыми чертами вместо прямых косых черт.

Вы могли бы еще попробовать с \\t

...