package org.logical_paradox.fts.document;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * ファイルに直接アクセスするタイプのドキュメントアクセスインターフェース
 */
public class DocumentFileManager implements DocumentManager {

	// 文書データを読み込む
	public String getDocument(long fileno) throws IOException {
		try {
			String filename = "db" + File.separator + fileno;
			BufferedReader br = new BufferedReader( new InputStreamReader( new FileInputStream( filename ), "UnicodeBig" ) );
			StringBuffer sb = new StringBuffer();
			String line = null;

			while( (line = br.readLine()) != null ) {
				sb.append( line );
			}
			br.close();

			return sb.toString();
		} catch( Exception e ) {
			throw new IOException(e.getMessage());
		}
	}
}
