字符转换输入流:InputStreamReader (字符转换输入流=字节流+编码格式)
创建一个使用默认字符集的 InputStreamReader。
public InputStreamReader(InputStream in,Charset cs)
创建使用给定字符集的 InputStreamReader。
cs - 字符集
读取单个字符。
读取的字符,如果已到达流的末尾,则返回 -1
public int read(char[] cbuf) throws IOException
将字符读入数组。
构造方法
public InputStreamReader(InputStream in)创建一个使用默认字符集的 InputStreamReader。
public InputStreamReader(InputStream in,Charset cs)
创建使用给定字符集的 InputStreamReader。
cs - 字符集
常用方法
public int read()throws IOException读取单个字符。
读取的字符,如果已到达流的末尾,则返回 -1
public int read(char[] cbuf) throws IOException
将字符读入数组。
读取的字符数,如果已到达流的末尾,则返回 -1
public void close() throws IOException
关闭该流并释放与之关联的所有资源。
示例程序
public static void main(String[] args) throws Exception{
InputStreamReader isr = new InputStreamReader(new FileInputStream("osw.txt"),"gbk") ;
//读数据
//一次读取一个字符数组
char[] chs = new char[1024] ;
int len = 0 ;
while((len=isr.read(chs))!=-1) {
System.out.println(new String(chs,0,len));
}
//关闭资源
isr.close();
}