IO基础篇

开启新篇章

File类 

File类基础概念

  1. File类是Java.io包中的一个重要类;
  2. File类对象可以表示文件,还可以表示目录,在一个程序中一个File类对象可以代表一个文件或目录;
  3. File类对象可以对文件或目录的属性进行操作,如:文件名、最后修改日期、文件大小等;
  4. File类对象无法操作文件的具体数据,既不能直接对文件进行读写操作;

File类的构造方法

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
        /*
        在E盘创建一个叫demo的.txt文件
        括号里的是文件的路径
         */
        File f=new File("E:\\demo.txt");
    }
}

File类的常用方法

import java.io.File;

public class FileDemo {
    public static void main(String[] args) {
        /*
        在E盘创建一个叫demo的.txt文件
        括号里的是文件的路径
         */
        File f=new File("E:\\demo1.txt");
        boolean b=f.exists();//判断文件是否存在,存在返回true,否则false
        System.out.println("文件存在情况:"+b);

        boolean b1=f.isFile();//判断是否是文件夹,是返回true,否则false
        System.out.println("判断是否为文件夹:"+b1);

        boolean b2=f.isDirectory();//判断是否为目录,是true,否则false
        System.out.println("判断是否为目录:"+b2);

        String name=f.getName();//获得文件名称
        System.out.println("文件名称:"+name);

        long len=f.length();//获得文件长度(字节数) long型
        System.out.println("文件长度:"+len);

        boolean b3=f.delete();//删除文件
        System.out.println("文件是否删除:"+b3);


    }
}

输入流及输出流

输入输出(I/O)把电脑硬盘上的数据读到程序中,为输入,既input,进行数据的read操作;从程序往外部设备写数据,为输出,既outpu,进行write操作;

字节流与字符流

从数据流编码格式上分为:

字节流:以字节为单位读取,可以读取任意文件;

字符流:以字符为单位读取,只能读文本文件;

流按着数据传输方向分为:

输入流:外部设备往程序中读叫输入流;

输出流:程序往外部设备写叫输出流;

InputStream和OutputStream的子类都是字节流,可以读取二进制文件,主要处理音频、图片、歌曲;

Reader和Writer的子类都是字符流,主要处理字符和字符串,字符流处理单元为一个字符。字节流将读取到的字节数据去指定的编码表中获取对应文字字符。

字节流常用类

输入流:FileInputStream

输出流:FileOutputStream

字符流常用类

输入流:FileReader

输出流:FileWriter

输入输出字节流

InputStream的基本方法

读取一个字节并以整数的形式返回 (0~255), 如果返回 -1 已到输入流的末尾。
int read() throws IOException
读取一系列字节并存储到一个数组 buffer , 返回实际读取的字节数,如果读取前已到输入流的
末尾返回 -1
int read(byte[] buffer) throws IOException
关闭流释放内存资源
void close() throws IOException

 OutputStream的基本方法

向输出流中写入一个字节数据 , 该字节数据为参数 b 的低 8
void write(int b) throws IOException
将一个字节类型的数组中的从指定位置( off )开始的 len 个字节写入到输出流
void write(byte[] b, int off, int len) throws IOException
关闭流释放内存资源
void close() throws IOException

输入输出字符流

Reader 的基本方法

读取一个字符并以整数的形式返回 , 如果返回 -1 已到输入流的末尾。
int read() throws IOException
读取一系列字符并存储到一个数组 buffer , 返回实际读取的字符数,如果读取前
已到输入流的末尾返回 -1
int read( char[] cbuf) throws IOException
关闭 void close() throws IOException

Writer 的基本方法

向输出流中写入一个字符数据 , 该字节数据为参数 b 16
void write(int c) throws IOException
一个字符类型的数组中的数据写入输出流
void write( char[] cbuf) throws IOException
将一个字符类型的数组中的从指定位置( off set )开始的 length 个字符写入到
输出流
void write( char[] cbuf, int off set, int length) throws IOException
关闭 void close() throws IOException

节点流与处理流

节点流中常用类

字节输入流 FileInputStream
字节输出流 FileOutputStream
字符输入流 FileReader
字符输出流 FileWriter

处理流中常用类

缓冲字节输出流 BufferedOutputStream
缓冲字节输入流 BufferedInputStream
缓冲字符输入流 BufferedReader
缓冲字符输出流 BufferedWriter

对象输入输出流--对象序列化

对象的寿命通常随着生成该对象的程序的终止而终止,有时候,可能需要将对象的状态保存下来,在需要的时候再将对象回复。

对象的输入输出流:

主要作用是用于对象信息的写入和读取。对象信息一旦写到文件上那么对象的信息就可以做到持久化了。

对象输出流:ObjectOutputStream

对象输入流:ObjectInputStream

在ObjectIntputStream中用readObject()方法可以直接读取一个对象,ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出流中。

在idea中设置,在类中生成序列化id

进入setting->inspections->serialization issues->选择图中的选项

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

再拼一次吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值