java I/O入门学习

java I/O

 

1)编码

  gbk编码,中文占2个字节,英文占一个字节;

  utf-8下,中文占3个字节[byte]

 

  java是双字节编码  utf-16be,

  当你的字节序列以某种编码时,这个时候想把字节序列转化为字符串,也必须用这种方式,否则出现乱码。

 

2) File类的使用

    java.io.File类用于表示文件(目录)

 

    a. File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件的访问。

        exists() 判断文件或目录是否存在

mkdir()  创建文件或目录

delete()  删除

 

isDirectory()  判断是否是个目录

isFile()  判断是否是文件

...

 

     b.常用操作

        dir.list() 返回的是目录下的子文件名称数组,但不能包含子目录下的内容

 

File[] files = dir.listFiles()  返回的是直接子目录或者文件的抽象  文件数组

 

 

3) RandomAccessFile  java提供的对文件内容的访问,既可以读文件,也可以写文件

                    支持随机访问文件,可以访问文件的任意位置。

 

  a. java文件模型

    在硬盘上的文件是byte byte存储的,是数据的集合

 

  b. 打开文件

       有两种模式 “rw”(读写) “r”(只读)

RandomAccessFile raf = new RandomAccessFile(fiel,"rw");

文件指针,打开文件时指针在开头,pointer =0

 

raf.seek(0);  读文件,将指针移动到头部

 

   c.写方法

     raf.write(int)  只写一个字节(后八位),同时指针指向下一个位置

                      准备再次写入

 

   d. 读方法

int b = raf.read()  读一个字节

   

   e. 文件读写完成后一定记得关闭

     raf.close();  关闭文件

 

4) 字节流

    IO流(输入流、输出流)

    a. 字节流

       InputStream 抽象了应用程序读取数据的方式

       OutputStream  抽象了应用程序写出数据的方式

 

    b. EOF = End 读到-1就读到结尾

    c. 输入流

       int b = in.read()  读取一个字节,无符号填充到int低八位,

             -1是EOF

 

in.read(byte[] buf)  读取数据填充到字节数组buf

in.read(byte[] buf,int start,int size)

 

    d. 输出流基本方法

       out.write(int b)

       ...

 

    e. FileInputStream

       

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值