2014-03-30 2 views
0

내가 텍스트 파일에서 단락의 수를 계산하기 위해 노력하고 있지만 얻을 수, 내가하려고 어떤텍스트 파일의 단락 수를 계산할 수있는 방법이 있습니까? 여기

FileReader fr=new FileReader(new File(path)); 
      BufferedReader br=new BufferedReader(fr); 

      String str=br.readLine(); 

        String str1=""; 
      int i=0; 

      while(str!=null) 
      {   
       i++; 
          str1+=str; 
       System.out.println(""+str); 

       str=br.readLine(); 
      } 

tried to separate str1 

using : "\t\n" separator 
using : "\t" separator 

되고, 내가 봤하지만이 문제에 대한 해결책을 찾을 수 없습니다, pls는 어떤 몸 도움말 .

여기에 편집 : 단락의

Sample Text. 

enter image description here

enter image description here

끝은 여기 다시 편집 레드 라운드

enter image description here

에 표시된에 의해 질문으로 사진 제공 : Anirudh는 : 하나의 단락은 빈 줄을 사용하여 다음에서 분리

try 
     { 
      FileReader fr=new FileReader(new File("C:/srivatLog/DataSet/a.txt")); 
      BufferedReader br=new BufferedReader(fr); 

      String str=br.readLine(); 
      int count=0; 
      while(str!=null) 
      { 
       String[] str1=str.split("^\\s+");    
       if(str1.length>1) 
       { 
        count++; 
       } 


       str=br.readLine(); 
      } 

      System.out.println(""+count); 

      br.close(); 
      fr.close(); 
     } 

     catch(Exception e) 
     { 
      e.printStackTrace(); 

     } 
+0

파일 형식에서 한 단락과 다음 단락을 구분하는 것은 무엇입니까? –

+1

단락은 일반적으로 빈 줄로 제한됩니다. 그래서 만약 당신이 readLine을하고 라인 길이가 0이면 단락의 끝입니다. 물론 제로 단락 또는 하나의 문서를 세는 데 미묘한 차이가 있습니다. – Vorsprung

+0

@Erwin 제 파일은 간단한 텍스트 파일이며이 파일에서 단락 번호를 찾아야합니다. –

답변

0

경우 다른 행 사이의 빈 행에 대한 계산 정규식 ^\s*$를 사용하여 둘 사이에 공 i 행의 수로서 단락의 수를 계산할 수 있습니다 법선 + 1

편집 :

문단 조금 압입로 시작하면서 라인의 시작 부분에 단락 내의 스타트 라인. 그래서 각 줄을 읽고 라인이 들여 쓰기로 시작하는지 확인하고 정규식과 일치하는 줄 수를 계산하여 단락 수를 찾으려면 정규식 ^\\s+을 사용하십시오.

+0

내 파일에 빈 줄이 포함되어 있지 않습니다. pdf 또는 doc 또는 docx 파일에서 가져옵니다. –

+0

그래서 단락은 무엇입니까? 읽으려고하는 파일에서 샘플 텍스트를 게시 할 수 있습니까? – anirudh

+0

나는 전체 파일을 붙여 넣을 수 없다, 나는 나의 텍스트 파일이 배열 된 현명한 것 같이 몇몇 견본 원본을 가진 나의 질문을 편집했다. –

-2

Windows에서 줄 바꿈은 두 문자 "\ r \ n"또는 16 진수의 0x0D0A로 표시됩니다. 일부 시스템 (특히 Unix)은 대신 ​​"\ n"을 사용합니다. 그래서 개행에서 시작하는 모든 것이 심각하게 새로운 단락의 시작이라면 "\ n"문자의 수를 계산하십시오 ...

+0

유닉스의 개행 문자는 "\ n"으로 표시됩니다. –

+0

예, 실제로 "\ n" "\ r"이 아니라 어리석은 실수, 편집 됨 – kevin

0

심지어 어디서나이 문제에 대한 해결책을 찾지 못했습니다. 구조화되지 않은 이러한 데이터를 가지고 있으며 이러한 구조화되지 않은 파일의 단락을 찾는 것이 어렵거나 거의 불가능합니다. 그래서 파일에서 라인 수를 세는 간단한 자바 프로그램을 사용하여 단락을 만드는 것을 관리합니다. (난수 생성은 12를 가정하므로 처음 12 줄은 첫 번째 단락과 같이됩니다 ...). 이 방법은 관련이 없으며 묻는 질문에 대한 해결책이 아니라는 것을 알지만 프로젝트와 함께 관리합니다. 이것으로부터 복구 할 수있는 다른 제안을 해주신 것에 대해 감사드립니다.

관련 문제