源于《java开发实战经典》第12章12.8【例12.39】
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class AndrewKL12_39 {
public static void main(String[] args) throws IOException {
InputStream input = System.in ; // 从键盘接收数据
System.out.print("请输入内容:") ; // 提示信息
int temp = 0 ; // 接收内容,字节字符单独读入流返回的都是数字.
List<Byte> allList = null ;//List只接收对象,不接收数据类型
allList=new ArrayList<Byte>();
while((temp=input.read())!=-1){
if((char)temp=='\n'){ // 退出循环,输入回车表示输入完成
break ;
}
allList.add((byte)temp) ;
}
Byte b[]=allList.toArray(new Byte[]{});
byte b1[]=new byte[b.length];
for(int i=0;i<b.length;i++) {
b1[i]=b[i];
}
input.close();
System.out.println("输入的内容为:" + new String(b1)) ;//将一个byte数组全部变成字符串
}
}
所以有汉字的文件尽量用字符流.,或读到byte数组中,再输出.