001 /*
002 * To change this template, choose Tools | Templates
003 * and open the template in the editor.
004 */
005
006 package com.nativelibs4java.util;
007
008 import java.io.*;
009 import java.net.*;
010
011 /**
012 *
013 * @author Olivier
014 */
015 public class IOUtils {
016 public static String readText(File f) throws IOException {
017 Reader in = new FileReader(f);
018 try {
019 return readText(in);
020 } finally {
021 in.close();
022 }
023 }
024 public static String readText(InputStream in) throws IOException {
025 return readText(new InputStreamReader(in));
026 }
027 public static String readText(URL url) throws IOException {
028 return readTextClose(url.openStream());
029 }
030 public static String readTextClose(InputStream in) throws IOException {
031 return readTextClose(new InputStreamReader(in));
032 }
033 public static String readTextClose(Reader in) throws IOException {
034 try {
035 return readText(in);
036 } finally {
037 in.close();
038 }
039 }
040 public static String readText(Reader in) throws IOException {
041 StringBuffer b = new StringBuffer();
042 BufferedReader bin = new BufferedReader(in);
043 String line;
044 while ((line = bin.readLine()) != null) {
045 b.append(line);
046 b.append('\n');
047 }
048 return b.toString();
049 }
050 public static void readWrite(InputStream in, OutputStream out) throws IOException {
051 byte[] buf = new byte[1024];
052 int len;
053 while ((len = in.read(buf)) > 0)
054 out.write(buf, 0, len);
055 }
056 }