原题记不太清楚了。大概内容:随意输入一段包含中文和英文的文字,现将里面的字符全部提取出来,不能出现提取后中文乱码问题。
看到这个题我第一想法就是用流来解决,因为在Java中有字节流和字符流,如果我用字符流来读取应该就不会出现问题了。源码如下:
Scanner cin=new Scanner(System.in);
String s;
try {
System.out.println("请输入字符串,中西结合:");
s = cin.nextLine();
char[] c=s.toCharArray();
CharArrayReader char_reader=new CharArrayReader(c);
int b;
while((b=char_reader.read())!=-1)
System.out.println((char)b);
} catch (IOException e1) {
e1.printStackTrace();
}
是用了CharArrayReader字符流。
顺便总结一下IO流的问题:
1、字符流、字节流:主要关键字(Reader、Writer&Stream)
2、输入流、输出流(output&Input)
3、节点流、处理流 (处理流是套在节点流之外的流,用来提供更强大的功能)