2011-09-15 7 views
0

基本的には、Word文書からテキストをコピーします(97-2003 Word Doc )をテキストファイルやリッチテキストファイルに変換することはできません。何らかの理由でJavaスキャンユーティリティがそのファイルを好きにしません。ここで.docファイルから.txtまたは.rtfファイルにコピーされたテキストのJavaスキャン "java.util.NoSuchElementException:No line found"例外が発生しました。例外

私は私のファイルは、読み出し動作に対処するために設定したクラスです。

import java.io.*; 
import java.lang.*; 
import java.util.*; 

public class FileReader 
{ 
    private Scanner read; 

    public void openFile(String name, String path) 
    { 
     try 
     { 
      read = new Scanner(new File(path + "/" + name)); 
      System.out.println("Succesfully opened " + name + " in " + path + "!"); 
     } 
     catch(Exception e) 
     { 
      System.out.println("Could not open file."); 
     } 
    } 

    public boolean hasNextEntry() 
    { 
     boolean result = false; 

     if(read.hasNext()) 
     { 
      result = true; 
     } 
     return result; 
    } 

    public String getNextLine() 
    { 
     String result = ""; 
     try 
     { 
      result = read.nextLine(); 
     } 
     catch(Exception e) 
     { 
      System.out.println("Error getting next line --> " + e); 
     } 
     return result; 
    } 
} 

何私は私のメイン機能で行うことである。

FileReader fr = new FileReader(); 
String dir = System.getProperty("user.dir"); 
fr.openFile("Text.txt", dir); 
String line = fr.getNextLine(); 

任意のアイデア?

答えて

0

ワード.docファイルは、(独自の形式の)バイナリファイルです。言い換えるべき "行"はありません。試しているように(テキストとして)読むことはできません。

あなたはScanner.nextLine()を呼び出して、次の行区切り文字を見つけてその前のテキストを返します。私はそれが行の区切りを見つけることができないと思う(または単にバイナリファイルを扱おうとしている)

次の質問が「どうすればそれらを読むのですか? ...答えはApache POI project

です
関連する問題