「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

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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 "";
}
}
}
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 ""; } } }
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,東京,大学

Java

Posted by arkgame