JAVA文件及IO(1)----File及字节流写数据

目录

1、File

1.1 File类概述

1.2 File类创建功能

1.3 File类判断和获取功能

1.4 File类删除功能

2、字节流

2.1 IO流概述及分类

2.2 字节流


1、File

1.1 File类概述

File:它是文件和目录路径名的抽象表示

  • 文件和目录可以通过File封装成对象
  • 对于File来说,它封装的并不一定是一个真正存在的文件,仅仅只是一个路径名,即它是可以存在的,也是可以不存在的,后续要通过具体的操作把路径的内容转化为具体
File构造方法
方法名说明
File(String pathname)通过将给定的路径名字符串转化为抽象路径名来创建新的File实例
File(String parent, String child)从父路径名字符串和子路径名字符串创建新的File实例
File(File parent, String child)从父抽象路径名和子路径名字符串创建新的File实例

1.2 File类创建功能

File类创建方法
方法名说明
public boolean createNewFile()

当具有该名称的文件不存在时,创建一个新的空文件

如果文件存在,则不创建文件并返回false

如果文件不存在,则创建文件返回true

public boolean mkdir()

创建此抽象路径名的目录

如果目录存在,则不创建文件并返回false

如果目录不存在,则创建文件返回true

public boolean mkdirs()

创建此抽象路径名的目录,包括任何必须但不存在的父目录(多级目录)

如果目录存在,则不创建文件并返回false

如果目录不存在,则创建文件返回true

1.3 File类判断和获取功能

File类判断和获取功能
方法名说明
public boolean isDirectory()测试此路径名表示的是否为目录
public boolean isFile()测试此路径名表示的是否为文件
public boolean exists()测试此路径名表示的File是否存在
public String getAbsolutePath()返回此路径名的绝对路径名
public String getPath()将此抽象路径名转化为路径名称字符串
public String getName()返回此路径名表示的文件或目录名称
public String[] list()返回此路径名表示的目录中的文件和目录的名称组成的字符串数据
public File[] listFiles()返回此路径名表示的目录中文件和目录的File对象数组

1.4 File类删除功能

File类删除功能
方法名说明
public boolean delete()

删除此路径名表示的文件或目录

如果删除的是目录,且目录下有文件,则不能直接删除

2、字节流

2.1 IO流概述及分类

IO流概述:

  • IO:输入/输出(Input/Output)-->针对于内存
  • 流:抽象概念,对数据传输的总称,即数据在设备间的传输称为流,其本质为数据传输
  • IO流:用来处理设备间的数据传输问题

IO流的分类:

  • 按数据流向
    • 输入流:读数据(硬盘到内存)
    • 输出流:写数据(内存到硬盘)
  • 按数据类型(默认)
    • 字节流
    • 字符流

2.2 字节流

字节流抽象基类:

  • InputStream:表示字节输入流的所有类的超类
  • OutputStream:表示字节输出流的所有类的超类

字节流写数据:

  • FileOutputStream:文件输出流用于将数据写入file
FileOutputStream
方法名说明
FileOutputStream(String name)

创建文件输出流以指定的名称写入文件

文件不存在,则会自动创建文件,即new File(name)

写数据方法(write)
方法名说明
void write(int b)

将指定的字节写入此文件输出流

一次写一个字节数据

void write(byte[] b)

将b.length字节从指定的字节数据写入此文件输出流

一次写一个字节数组数据

void write(byte[] b, int off, int len)

将len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流

一次写一个字节数据的部分数据

public static void main(String[] args) throws IOException {
        //创建输出流
        FileOutputStream fos = new FileOutputStream("e://text.txt");
        //写入内容
        fos.write(70);
        //释放资源
        fos.close();
}

写数据的“坑”:

  1. 写数据实现换行
    public static void main(String[] args) throws IOException {
            //创建输出流
            FileOutputStream fos = new FileOutputStream("e://text.txt");
            //写入内容
            for (int i = 0; i < 5; i++) {
                fos.write("abc".getBytes());
                //实现换行win:\r\n; linux: \n;
                fos.write("\r\n".getBytes());
            }
            //释放资源
            fos.close();
    }
  2. 追加写入
    追加写入(构造方法)
    方法名说明
    public FileOutputStream(String name, boolean append)第二个参数为true,则字节将写入文件的末尾

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值