java自学日记五(特殊类及编解码问题)

                              java基础---IO流其他特殊类

 一、对象流(传递对象的)

         --类:ObjectInputStream、ObjectOutputStream

       代码如下:        

 二、管道流    

         --类:PipedInputStream、PipedOutStream

             利用多线程来从这边读入另一边写出;或者从这边写出那边读入

             这边读的为空的话就停止从那边写入  ,这两个线程不一定谁先谁后; 

         具体代码如下:

             

   

三、特殊的独立类RandomAccessFile

              ---不属于IO流中的类,是单独的类,是直接继承于object类的;

              ---它具有读写能力;

              ---内部封装了一个数组,可以通过指针来指定位置、操作数据;

              ---可以通过getFilePointer来得到指针位置;

              ---可以通过seek来改变指针位置即指定位置;

            具体用法及代码如下:  

         

 

  四、能操作基本数据类型的类 

               DataInputStream、DataOutputStream

   具体代码如下:

         

  五、用于操作字节数组的流对象

       ByteArrayInputStream:

              在构造时,需要一个字节数组来作为参数,也就是要读取的内容----字节数            组;

       ByteArrayOutputStream:

              在构造时,不用定义数据目的,因为在该对象中内部已经封装了可变长度的        数组,这个数组就是所谓的目的;

    注意:这两个对象操作的是数组,所以并没有使用数据资源,没必要关闭;    

   具体代码如下:

     

   六、编解码

       字符流的出现是为了方便操作字符,更重要的是加入了编码转换 ,这个转换主要通过转换流(InputStreamReader/OutputStreamWriter)来做的;在转换流是加入字符集参数;

    

   七、字符编码

           具体代码如下:

            1、正常的编解码,也就是信息的传输

             

     2、编解码不正确时的处理

        当采用的编码与解码不一致时,这就会乱码;此时,就要将解码后的乱码重新通过解码时的编码格式再对其进行解码,即就是将其转化为数组(数字类型),这样再将其数字通过正确的解码方式重新解码即可。

八、“联通”的特殊:

       在记事本里面打入“联通”后保存再打开就会乱码;这是由于“联通二字的二进制编码数字会被认为是utf-8的编码,从而产生乱码;

九、录入学生信息

         具体代码如下:



                                            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值