「Java」IOUtilsクラスで入力ストリーム(InputStreamReader)を文字列に変換
書式
1.java.lang.Class のメソッドの使用
クラス名.class.getClassLoader().getResourceAsStream(ファイル名)
getResourceAsStream() は、入出力例外がキャッチされて null の InputStream を返されることを除いて、getResource().openStream() を呼び出すことと同一です。
2.InputStreamReader(InputStream in, Charset cs)
与えられた文字セットを使うInputStreamReaderを作成します。
3.IOUtils.toString(final Reader input)
入力ストリームを文字列に変換
jarファイル
commons-io-2.6.jar
使用例
package com.arkgame.info;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import org.apache.commons.io.IOUtils;
public class IOUtilsDemo {
public static void main(String[] args) {
String fileName = "test.csv";
String res = getInfo(fileName);
System.out.println(res);
}
public static String getInfo(String fileName) {
// getResourceAsStream() を Class と ClassLoader に追加する
try (InputStream is =
IOUtilsDemo.class.getClassLoader().getResourceAsStream(fileName);
// InputStreamReaderはバイトを読み込み、指定charsetを設定
InputStreamReader isr =
new InputStreamReader(is, Charset.forName("UTF-8"));) {
// InputStreamReaderを文字列に変換
return IOUtils.toString(isr);
} catch (IOException e) {
return "";
}
}
}
結果
山田次郎,32,東京,大学