JAVA.IO 之文件字节流

一、File类

一般是通过这个类来定义一个flie对象然后获取一些文件属性,调取文件属性的方法如下图

  

二、文件字节流(FileOutputStream/FileInputstream名下的writer/reader)

        1、创建文件字节输入\输出流

                FileInputStream(String name)//name就是文件名

                FileOutputStream(String name,boolean append)//就是创建一个流向文件的流,append默认为flase,表示是否在文件末尾作为开头创建流

                FileInputStream(File file)//file就是用File file定义的文件对象

                FileOutputsStream(File file,boolean append)//就是创建一个流向文件的流,append默认为flase,表示是否在文件末尾作为开头创建流

                以上的内容都是创建一个类,对于他们的对象我们都以他们的大驼峰命名法大写的字母来命名

FileOutputStream FOS=new FileOutputStream

        2、文件字节流的方法read()和write() 

                int read(byte []b ,int off,int len)//返回值是int是返回的一个整数,这个整数其实就代表了read从文件中读取了多少个字节。,当read读到了文件的最后一位时,就会返回-1(这一个特点经常用于while的使用之中

        byte[] b:是让你提供一个字节数组,用来存放你在文件中读取的信息。

        int off:是让你提供一个整数,代表着read从字节数组b的下标为off开始存放数据。

        int len:是让你提供一个整数,代表着字节数组的长度。

        

import java.io.*;

public class test {
    public static void main(String[] args) throws IOException {
        byte []c=new byte[24];
        int b;
        try {
            FileInputStream fos=new FileInputStream("file");//文件中的内容是“我是文件的内容”
            while((b=fos.read(c,0,24))!=-1)
            {
                String s=new String(c,0,24);
                System.out.println(s);
            }
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

                不过需要注意的就是,read会将文件中的信息转换成ascII码再输出这里就不用代码演示了,下面这段代码的结果是h1E的原因就是前两个write都将‘’里面的当作字节保存在文件中了,不过第三个write是将69当作ascII码所对应的字节了

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class test {
    public static void main(String[] args) {
        try {
            FileOutputStream fos=new FileOutputStream("file");
            try {
                fos.write('h');
                fos.write('1');
                fos.write(69);
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值