zoukankan      html  css  js  c++  java
  • IO注意事项

    read()方法返回值为什么是int?

    因为字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到111111111,那么这11111111是byte类型的-1,我们的程序是遇到-1就会停止不读了,后面的数据就读不到了,所以在读取的时候用int类型接收,如果11111111会在其前面补上24个0凑足4个字节,那么byte类型的-1就变成int类型的255了这样可以保证整个数据读完,而结束标记的-1就是int类型


    flush和close方法的区别?

    flush()方法

    * 用来刷新缓冲区的,刷新后可以再次写出

    close()方法

    * 用来关闭流释放资源的的,如果是带缓冲区的流对象的close()方法,不但会关闭流,还会再关闭流之前刷新缓冲区,关闭后不能再写出

     


    字节流读写中文的问题?

    字节流读取中文的问题

    * 字节流在读中文的时候有可能会读到半个中文,造成乱码

    字节流写出中文的问题

    * 字节流直接操作的字节,所以写出中文必须将字符串转换成字节数组

    * 写出回车换行 write(" ".getBytes());

  • 相关阅读:
    linux下实现nginx反向代理
    linux下实现nginx安装实现端口区分,域名区分
    redis整合spring
    linux下安装redis以及redis集群
    Kindeditor编辑器
    ActiveMQ
    redis(保存邮件激活码)
    AngularJS (验证码倒计时)
    linux部署项目(oracle+redis+activeMQ+elasticSearch+tomcat+JDK8)
    WebService
  • 原文地址:https://www.cnblogs.com/loaderman/p/6407760.html
Copyright © 2011-2022 走看看