java io(一)

IO分类:
1、根据处理的数类型不同:字节流和字符流。
2、根据流向不同:输入流和输出流。

字节流和字符流的区别:
1、字节流读取的时候,读一个就返回。
字符流用字节流的方式读一个或多个字节,然后去查指定的编码表,将查到的字符返回。
2、字节流可以处理所有类型数据如图片mp3、avi等。
而字符流只能处理字符数据
结论:只要是纯文本数据,都要优先考虑字符流来处理。其他的都要使用字节流。

IO体系,具备的功能就只有两个:读写

字节流的处理方式:
InputStream、OutputStream
字符流的处理方式:
Reader、Writer

读一个文本文件并打印:

FileReader r = new FileReader(new File("c:\\lf.txt"));
        char[] cs = new char[500];
        int len = 0;
        int count = 0;
        while((len = r.read(cs))!=-1){
            count++;
            System.out.println(new String(cs,0,len));  
        }
        r.close();
        System.out.println(count);

【缓冲】

缓冲的存在是为了增强流的功能而存在的。所以建立缓冲区的时候首先要有流对象的存在。
其实缓冲内部还是用了流的功能,只不过是把读进来的数据暂时放在数组中存储罢了。

处理字符流的时候,使用的是char数组,在处理字节流的时候,使用的是byte数组

例子:

FileInputStream fis = new FileInputStream(new File("c:\\lf.txt"));
        byte[] ss = new byte[1024];
        while(true){
            int c = fis.read(ss);
            if(c == -1){
                break;
            }else{
                System.out.println(new String(ss)); 
            }
        }

编码问题

tomcat服务器的默认编码是iso8859-

数据使用了什么样的编码方式进行编码,就需要用什么样的编码方式进行解码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值