import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;public class chinese_english_inputstream {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("e:/io流专用文件/da1.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] b = new byte[8];
bis.read(b);
ByteArrayInputStream fais = new ByteArrayInputStream(b);
fais.(1); //这里不管是几 控制台输出的都是第一个字符.
fais.reset();
System.out.println((char)fais.read());
}
}这个也一样import java.io.BufferedInputStream;
import java.io.FileInputStream;public class chinese_english_inputstream {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("e:/io流专用文件/da1.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
bis.(5);
bis.reset();
System.out.println((char)bis.read());
}
}
《da1.txt》:
ab中国人求解啊
非常感谢你的回答 ,()方法里的参数是缓冲的最多字节数,但我发现不管参数是几效果都一样:import java.io.BufferedInputStream;
import java.io.FileInputStream;public class chinese_english_inputstream {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("e:/io流专用文件/da1.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read();
bis.read();
bis.(1); //我这设置的缓冲区为1个字节
bis.read();
bis.read();
bis.read();
bis.reset(); //在读到e后进行reset
System.out.println((char)bis.read()+"-"+(char)bis.read()+"-"+(char)bis.read());
}
}
《da1.txt》:
abcdefg中国人问题:
控制台的输出是:c-d-e
按你说的那该是:c-f-g才对啊?