All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nablarch.test.tool.htmlcheck.util.FileUtil Maven / Gradle / Ivy

There is a newer version: 2.2.0
Show newest version
package nablarch.test.tool.htmlcheck.util;

import java.io.BufferedReader;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;

import nablarch.core.util.annotation.Published;


/**
 * ファイル関連ユーティリティクラス。
 *
 * @author Tomokazu Kagawa
 */
@Published(tag = "architect")
public final class FileUtil {
    
    /**
     * デフォルトコンストラクタ
     */
    private FileUtil() {
    }

    /**
     * 読み込み時のデフォルト文字コード指定
     */
    private static final Charset DEFAULT_ENCODING = Charset.forName("UTF-8");

    /**
     * CSVファイルを読み込む。
* 文字コードはデフォルト(UTF-8)を使用する。
* 返却値はListであり、CSVファイルの各行がListの1レコードに対応する。 * * @param csvPath 読み込み対象CSVファイルパス * @return 読み込む結果 */ public static List readCsv(String csvPath) { return readCsv(csvPath, DEFAULT_ENCODING); } /** * CSVファイルを読み込む。
* 返却値はListであり、CSVファイルの各行がListの1レコードに対応する。 * * @param csvPath 読み込み対象CSVファイル * @param charset 読み込み対象CSVファイルの文字コード * @return 読み込む結果 */ public static List readCsv(String csvPath, Charset charset) { BufferedReader reader = null; try { reader = open(csvPath, charset); List csv = new ArrayList(); String line; while ((line = reader.readLine()) != null) { String[] elements = line.split(",", -1); csv.add(elements); } return csv; } catch (IOException e) { throw new RuntimeException("can't read file [" + csvPath + "]", e); } finally { closeQuietly(reader); } } /** * ファイルをオープンし、BufferedReaderを返却する。 * * @param file 読み込み対象ファイル * @param charset 指定文字コード * @return BufferedReaderインスタンス * @throws FileNotFoundException 指定したファイルが存在しない場合のエラー */ public static BufferedReader open(File file, Charset charset) throws FileNotFoundException { InputStream in = new FileInputStream(file); return new BufferedReader(new InputStreamReader(in, charset)); } /** * ファイルをオープンし、BufferedReaderを返却する。 * * @param filePath 読み込み対象ファイルパス * @param charset 指定文字コード * @return BufferedReaderインスタンス * @throws FileNotFoundException 指定したファイルが存在しない場合のエラー */ public static BufferedReader open(String filePath, Charset charset) throws FileNotFoundException { return open(new File(filePath), charset); } /** * Closeableインタフェース実装クラスに対して、クローズ処理を行う。 * * @param closeable クローズ対象リソース */ public static void closeQuietly(Closeable closeable) { try { if (closeable != null) { closeable.close(); } } catch (Exception ignored) { // 例外をthrowしても、ユーザーは対処できない。 // そのため、処理を行わない。 return; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy