Парсинга строк блога в массив Java

Я пишу внутреннюю Java-программу для команды, чтобы проанализировать весь файл блога в массив. Однако мой код может получить только часть этого гигантского файла журнала, все записи прикреплены друг к другу без разделителя строк. Источник взят из txt-файла, расположенного на сетевом диске, и в этом случае я установил абсолютный путь в качестве параметра. Вот мой код:

public class ProcessTxt 
{
    public String[] openFile(String source)
    {
        List<String> allMatches = new ArrayList<>();
        String[] str =new String[]{};
        String pattern="^\\d+.\\d+.\\d+.\\d.*\".*?\"$";
        Pattern p=Pattern.compile(pattern);
        try 
        {
            File sourceFile = new File(source);
            // if source is a full path, java will search using that path
            // if source is just a name, java will assume its under current working directory
            Scanner scanner = new Scanner(sourceFile);
            System.out.println(scanner.hasNext()?"true":"false");//debug
            while (scanner.hasNextLine())
            {
                String line=scanner.nextLine();
                Matcher m=p.matcher(line);
                if (m.matches())
                {
                    allMatches.add(m.group());  // add entire line
                }                   
            }
            str = allMatches.toArray(new String[0]); // move to array
            scanner.close();
        } 
        catch (FileNotFoundException e)     
        {
            e.printStackTrace();
        }
        return str;
    }

    public static void main(String[] args) 
    {
        ProcessTxt pTxt=new ProcessTxt();
        String[] arr=pTxt.openFile("PATH\FOLDER\weblog.txt");
        for(String s: arr)
        {
            System.out.println(s);
        }

    }

inputtream работает, я сомневаюсь, что регулярное выражение не перехватывает все записи, но провело дополнительное тестирование на http://www.regexplanet.com/, регулярное выражение в коде делает свою работу. Есть мысли?

0 ответов

Другие вопросы по тегам