「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,東京,大学