大伙帮个忙,改变Inputstream的字符编码

传2个参数进去 返回changEncoding
该怎么写呢 或者谁给个思路
先谢了
changEncoding(Inputstream i,String charater)
{

}

有个现成的类的
[quote]public class InputStreamReaderextends ReaderInputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。

每次调用 InputStreamReader 中的一个 read() 方法都会导致从基础输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从基础流读取更多的字节,使其超过满足当前读取操作所需的字节。

为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如:

BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));
[/quote]
[code="java"]
BufferedReader in
= new BufferedReader(new InputStreamReader(i));

//这样就能读取相应编码的字符了[/code]

哥们,你这个题目是我见过最有诗意的问题。压根没看明白你想说啥?另外 你能解释一下啥是changEncoding?

你在用流在读取的时候可能还不涉及到编码和解码的问题,
当你需要把用流读取出来的byte装换成字符的时候才会涉及到解码;
InputStreamReader就是把字节流读取装换成字符读取的一种方式,所以InputStreamReader的构造方法提供了字符集参数:
InputStreamReader(InputStream in, String charsetName)

这个 java提供的库函数就有相关的实现啊 如果你要想看源代码就直接下载java的源码读读咯 我这里提供一种思路是首先要有各个编码的字库文件,然后就是读取字节进行解码的过程了,这里如果多字节字符的话,连续的读取需要自己设置分割,如果是宽字符的话,字节检索简析就行了。一般字库都是有索引的!