2010-02-25 5 views
0

파일에서 행 번호를 찾지 못하면 더 많은 행이 표시됩니다.Java에서 파일을 찾을 때 문제가 있습니까?

예를 들어 단어 파일에 26 행만있는 내 파일에 있습니다. 그러나 카운트하는 동안 자바 프로그램을 사용하여 118을 표시합니다.

File f=new File("C:\\Users\\os05\\Desktop\\Venkatesan(13-02-10).doc"); 

    FileReader fr = new FileReader(f); 

    LineNumberReader ln = new LineNumberReader(fr); 

    int count = 0; 

    while (ln.readLine() != null) 
    { 

     count++; 
    } 
    System.out.println("No of lines:"+count); 

위의 코드는 어떻게 계산합니까? 라인 .... ....?

+0

해당 워드 문서는 Microsoft Word 문서입니까? – YOU

+0

예, Microsoft Word 문서입니다. – Venkat

+16

몇 가지 대답을 받아 들여야합니다. – Mark

답변

3

Microsoft Word 문서 인 경우 이진 파일이므로 그렇게 할 수 없습니다.

마이크로 소프트 워드 파일에 적절한 API를 찾아야합니다.

+0

인내심 +1 – helios

2

문제는 일반 텍스트로 표시되지 않는 문서 파일을보고 있다는 것입니다. Microsoft Word 파일에서 줄 수를 찾으려면 전용 라이브러리를 사용해야합니다 ...

파일 형식은 www.wotsit.org에서 볼 수 있지만이 내용만으로는 도와주세요 ...

+0

+1 인내심 – helios

10

Word 문서를 일반 텍스트 파일 (*)처럼 취급하려고합니다.

그러나 Word 문서는 포함 된 정보를 추출하기 위해 올바르게 해석해야하는 독점 형식의 이진 파일입니다.

이러한 파일을 처리하는 라이브러리가 있습니다 (예 : Apache POI).

실험 및 학습을 위해이 작업을 수행하려는 경우 간단한 텍스트 파일 (메모장 등)을 사용하는 것이 더 쉽습니다.

(*) there is no such thing as plain text 인 경우에도.

+0

+1 인내심과 유니 코드 기사 참조 – helios

관련 문제