zoukankan      html  css  js  c++  java
  • java的io包详解

    AA

    首先来说一下读的问题。

    从文件中读取数据,有两种方法:

    一种是使用FileInputStream,一种是使用FileReader。

    FileInputStream:将文件以二进制流的形式读入到stream中,这里首先需要注意的是文件不单单指的是文本文件还包括图片,影音等任何在计算机上存储的文件。如果是文本文件,比如该文本的文件编码是UTF-8编码,则读入的流就是文本中所有字符的UTF-8编码的字符,如果是GBK,则读入的文件就是GBK编码的流。

    如果想要将文件转化为字符形式,则需要使用InputStreamReader这个类,它是字节和字符之间的桥梁。在InputStreamReader中,可以指定将字节转化为字符的编码形式,比如下面的一条语句。

    InputStreamReader  isr = new InputStreamReader(new FileInputStream(“text.txt”),”UTF-8”);就是将读入的字节流以UTF-8的形式转化为字符。

    一般我们还会使用BufferReader这个类,这个类有很多实用性很强的函数,它以Reader作为构造函数的参数。

    下面来说一下FileReader:

    和FileInputStream一样,它也是以string和file来作为自己的参数。不同的是:1,文件格式比较少,只能是文本格式,而不能是图片或者影音等。2.如果FileReader所在的java源代码是UTF-8格式,而读取的文本是GBK编码,则会出现乱码,java源代码和读取的文本文件的编码必须是一样的,不然会出现乱码,如果没有中文字符,则在有的情况下是不出现乱码的。

    这里还要说一下java中的编码格式,java涉及到两种编码源文件编码和class编码,操作系统的编码可以不用考虑。

    1,使用string.getbytes()得到的是这个string的java源文件的编码,这里做了一个转化,stirng在class中是unicode编码的,先转化为java源文件所对应的编码,然后得到结果。

    2.new string(byte[]),默认是按照java源文件的编码来转换。

    3.  char(int):

  • 相关阅读:
    oracle的commit
    struts2 Action 接收参数的三种方法
    git -速查表
    Windows 手动创建 服务
    Linux 上 安装 composer
    Class文件解析
    Java 从数据库中查找信息导入Excel表格中
    将Java Web项目部署到远程主机上
    Java8 map和reduce
    group By 和 Union 、 Union all的用法
  • 原文地址:https://www.cnblogs.com/lxzh/p/2763846.html
Copyright © 2011-2022 走看看