001package io.ebean.util; 002 003import java.io.BufferedReader; 004import java.io.BufferedWriter; 005import java.io.File; 006import java.io.FileInputStream; 007import java.io.FileNotFoundException; 008import java.io.FileOutputStream; 009import java.io.InputStream; 010import java.io.InputStreamReader; 011import java.io.OutputStream; 012import java.io.OutputStreamWriter; 013import java.nio.charset.StandardCharsets; 014 015/** 016 * Utilities for IO. It uses UTF-8 as encoding when reading/writing and uses 017 * buffered IO for better performance. 018 */ 019public class IOUtils { 020 021 /** 022 * Read from stream as UTF-8. 023 */ 024 public static BufferedReader newReader(InputStream is) { 025 return new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)); 026 } 027 028 /** 029 * Read from file as UTF-8. 030 */ 031 public static BufferedReader newReader(File file) throws FileNotFoundException { 032 return newReader(new FileInputStream(file)); 033 } 034 035 /** 036 * Write to stream as UTF-8 037 */ 038 public static BufferedWriter newWriter(OutputStream os) { 039 return new BufferedWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8)); 040 } 041 042 /** 043 * Write to file as UTF-8 044 */ 045 public static BufferedWriter newWriter(File file) throws FileNotFoundException { 046 return newWriter(new FileOutputStream(file)); 047 } 048}