org.nutz.lang
类 Streams

java.lang.Object
  继承者 org.nutz.lang.Streams

public abstract class Streams
extends java.lang.Object

提供了一组创建 Reader/Writer/InputStream/OutputStream 的便利函数

作者:
zozoh(zozohtnt@gmail.com), Wendal(wendal1985@gmail.com), bonyfish(mc02cxj@gmail.com)

构造方法摘要
Streams()
           
 
方法摘要
protected static java.io.InputStream _input(java.io.File file)
          获取File对象输入流,即使在Jar文件中一样工作良好!!
static void appendWriteAndClose(java.io.File f, java.lang.String text)
           
static java.io.BufferedInputStream buff(java.io.InputStream ins)
          为一个输入流包裹一个缓冲流。
static java.io.BufferedOutputStream buff(java.io.OutputStream ops)
          为一个输出流包裹一个缓冲流。
static java.io.BufferedReader buffr(java.io.Reader reader)
          为一个文本输入流包裹一个缓冲流。
static java.io.BufferedWriter buffw(java.io.Writer ops)
          为一个文本输出流包裹一个缓冲流。
static boolean equals(java.io.InputStream sA, java.io.InputStream sB)
          判断两个输入流是否严格相等
static java.io.InputStream fileIn(java.io.File file)
          根据一个文件路径建立一个输入流
static java.io.InputStream fileIn(java.lang.String path)
          根据一个文件路径建立一个输入流
static java.io.Reader fileInr(java.io.File file)
          根据一个文件路径建立一个 UTF-8 文本输入流 警告!!
static java.io.Reader fileInr(java.lang.String path)
          根据一个文件路径建立一个 UTF-8文本输入流 警告!!
static java.io.OutputStream fileOut(java.io.File file)
          根据一个文件建立一个输出流
static java.io.OutputStream fileOut(java.lang.String path)
          根据一个文件路径建立一个输出流
static java.io.Writer fileOutw(java.io.File file)
          根据一个文件建立一个 UTF-8 文本输出流
static java.io.Writer fileOutw(java.lang.String path)
          根据一个文件路径建立一个 UTF-8 文本输出流
static java.io.InputStream nullInputStream()
           
static java.lang.StringBuilder read(java.io.Reader reader)
          从一个文本流中读取全部内容并返回 注意,它并不会关闭输出流
static java.lang.String readAndClose(java.io.Reader reader)
          从一个文本流中读取全部内容并返回 注意,它会关闭输入流
static byte[] readBytes(java.io.InputStream ins)
          读取一个输入流中所有的字节
static byte[] readBytesAndClose(java.io.InputStream ins)
          读取一个输入流中所有的字节,并关闭输入流
static boolean safeClose(java.io.Closeable cb)
          关闭一个可关闭对象,可以接受 null。
static void safeFlush(java.io.Flushable fa)
           
static java.io.InputStream utf8filte(java.io.InputStream in)
          判断并移除UTF-8的BOM头
static java.io.Reader utf8r(java.io.InputStream is)
           
static java.io.Writer utf8w(java.io.OutputStream os)
           
static java.io.InputStream wrap(byte[] bytes)
           
static void write(java.io.OutputStream ops, byte[] bytes)
          将一个字节数组写入一个输出流。
static int write(java.io.OutputStream ops, java.io.InputStream ins)
          将输出流写入一个输出流。
static int write(java.io.OutputStream ops, java.io.InputStream ins, int bufferSize)
          将输出流写入一个输出流。
static void write(java.io.Writer writer, java.lang.CharSequence cs)
          将一段文本全部写入一个writer。
static void write(java.io.Writer writer, java.io.Reader reader)
          将文本输出流写入一个文本输出流。
static void writeAndClose(java.io.OutputStream ops, byte[] bytes)
          将一个字节数组写入一个输出流。
static int writeAndClose(java.io.OutputStream ops, java.io.InputStream ins)
          将输出流写入一个输出流。
static void writeAndClose(java.io.Writer writer, java.lang.CharSequence cs)
          将一段文本全部写入一个writer。
static void writeAndClose(java.io.Writer writer, java.io.Reader reader)
          将文本输出流写入一个文本输出流。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

Streams

public Streams()
方法详细信息

equals

public static boolean equals(java.io.InputStream sA,
                             java.io.InputStream sB)
                      throws java.io.IOException
判断两个输入流是否严格相等

抛出:
java.io.IOException

write

public static void write(java.io.Writer writer,
                         java.lang.CharSequence cs)
                  throws java.io.IOException
将一段文本全部写入一个writer。

注意,它并不会关闭输出流

参数:
writer -
cs - 文本
抛出:
java.io.IOException

writeAndClose

public static void writeAndClose(java.io.Writer writer,
                                 java.lang.CharSequence cs)
将一段文本全部写入一个writer。

注意,它会关闭输出流

参数:
writer - 输出流
cs - 文本

write

public static int write(java.io.OutputStream ops,
                        java.io.InputStream ins)
                 throws java.io.IOException
将输出流写入一个输出流。块大小为 8192

注意,它并不会关闭输入/出流

参数:
ops - 输出流
ins - 输入流
返回:
写入的字节数
抛出:
java.io.IOException

write

public static int write(java.io.OutputStream ops,
                        java.io.InputStream ins,
                        int bufferSize)
                 throws java.io.IOException
将输出流写入一个输出流。

注意,它并不会关闭输入/出流

参数:
ops - 输出流
ins - 输入流
bufferSize - 缓冲块大小
返回:
写入的字节数
抛出:
java.io.IOException

writeAndClose

public static int writeAndClose(java.io.OutputStream ops,
                                java.io.InputStream ins)
将输出流写入一个输出流。块大小为 8192

注意,它会关闭输入/出流

参数:
ops - 输出流
ins - 输入流
返回:
写入的字节数

write

public static void write(java.io.Writer writer,
                         java.io.Reader reader)
                  throws java.io.IOException
将文本输出流写入一个文本输出流。块大小为 8192

注意,它并不会关闭输入/出流

参数:
writer - 输出流
reader - 输入流
抛出:
java.io.IOException

writeAndClose

public static void writeAndClose(java.io.Writer writer,
                                 java.io.Reader reader)
将文本输出流写入一个文本输出流。块大小为 8192

注意,它会关闭输入/出流

参数:
writer - 输出流
reader - 输入流

write

public static void write(java.io.OutputStream ops,
                         byte[] bytes)
                  throws java.io.IOException
将一个字节数组写入一个输出流。

注意,它并不会关闭输出流

参数:
ops - 输出流
bytes - 字节数组
抛出:
java.io.IOException

writeAndClose

public static void writeAndClose(java.io.OutputStream ops,
                                 byte[] bytes)
将一个字节数组写入一个输出流。

注意,它会关闭输出流

参数:
ops - 输出流
bytes - 字节数组

read

public static java.lang.StringBuilder read(java.io.Reader reader)
                                    throws java.io.IOException
从一个文本流中读取全部内容并返回

注意,它并不会关闭输出流

参数:
reader - 文本输出流
返回:
文本内容
抛出:
java.io.IOException

readAndClose

public static java.lang.String readAndClose(java.io.Reader reader)
从一个文本流中读取全部内容并返回

注意,它会关闭输入流

参数:
reader - 文本输入流
返回:
文本内容
抛出:
java.io.IOException

readBytes

public static byte[] readBytes(java.io.InputStream ins)
                        throws java.io.IOException
读取一个输入流中所有的字节

参数:
ins - 输入流,必须支持 available()
返回:
一个字节数组
抛出:
java.io.IOException

readBytesAndClose

public static byte[] readBytesAndClose(java.io.InputStream ins)
读取一个输入流中所有的字节,并关闭输入流

参数:
ins - 输入流,必须支持 available()
返回:
一个字节数组
抛出:
java.io.IOException

safeClose

public static boolean safeClose(java.io.Closeable cb)
关闭一个可关闭对象,可以接受 null。如果成功关闭,返回 true,发生异常 返回 false

参数:
cb - 可关闭对象
返回:
是否成功关闭

safeFlush

public static void safeFlush(java.io.Flushable fa)

buff

public static java.io.BufferedInputStream buff(java.io.InputStream ins)
为一个输入流包裹一个缓冲流。如果这个输入流本身就是缓冲流,则直接返回

参数:
ins - 输入流。
返回:
缓冲输入流

buff

public static java.io.BufferedOutputStream buff(java.io.OutputStream ops)
为一个输出流包裹一个缓冲流。如果这个输出流本身就是缓冲流,则直接返回

参数:
ops - 输出流。
返回:
缓冲输出流

buffr

public static java.io.BufferedReader buffr(java.io.Reader reader)
为一个文本输入流包裹一个缓冲流。如果这个输入流本身就是缓冲流,则直接返回

参数:
reader - 文本输入流。
返回:
缓冲文本输入流

buffw

public static java.io.BufferedWriter buffw(java.io.Writer ops)
为一个文本输出流包裹一个缓冲流。如果这个文本输出流本身就是缓冲流,则直接返回

参数:
ops - 文本输出流。
返回:
缓冲文本输出流

fileIn

public static java.io.InputStream fileIn(java.lang.String path)
根据一个文件路径建立一个输入流

参数:
path - 文件路径
返回:
输入流

fileIn

public static java.io.InputStream fileIn(java.io.File file)
根据一个文件路径建立一个输入流

参数:
file - 文件
返回:
输入流

fileInr

public static java.io.Reader fileInr(java.lang.String path)
根据一个文件路径建立一个 UTF-8文本输入流 警告!! 本方法会预先读取3个字节以判断该文件是否存在BOM头

警告!! 如果存在BOM头,则自动跳过

参数:
path - 文件路径
返回:
文本输入流

fileInr

public static java.io.Reader fileInr(java.io.File file)
根据一个文件路径建立一个 UTF-8 文本输入流 警告!! 本方法会预先读取3个字节以判断该文件是否存在BOM头

警告!! 如果存在BOM头,则自动跳过

参数:
file - 文件
返回:
文本输入流

utf8filte

public static java.io.InputStream utf8filte(java.io.InputStream in)
判断并移除UTF-8的BOM头


fileOut

public static java.io.OutputStream fileOut(java.lang.String path)
根据一个文件路径建立一个输出流

参数:
path - 文件路径
返回:
输出流

fileOut

public static java.io.OutputStream fileOut(java.io.File file)
根据一个文件建立一个输出流

参数:
file - 文件
返回:
输出流

fileOutw

public static java.io.Writer fileOutw(java.lang.String path)
根据一个文件路径建立一个 UTF-8 文本输出流

参数:
path - 文件路径
返回:
文本输出流

fileOutw

public static java.io.Writer fileOutw(java.io.File file)
根据一个文件建立一个 UTF-8 文本输出流

参数:
file - 文件
返回:
输出流

utf8r

public static java.io.Reader utf8r(java.io.InputStream is)

utf8w

public static java.io.Writer utf8w(java.io.OutputStream os)

nullInputStream

public static java.io.InputStream nullInputStream()

wrap

public static java.io.InputStream wrap(byte[] bytes)

_input

protected static java.io.InputStream _input(java.io.File file)
                                     throws java.io.IOException
获取File对象输入流,即使在Jar文件中一样工作良好!! 强烈推荐

抛出:
java.io.IOException

appendWriteAndClose

public static void appendWriteAndClose(java.io.File f,
                                       java.lang.String text)