I/O输入输出

1.IO简介

1.1继承结构

in/out是相对于程序而言的输入(读取)和输出(写出)的过程。

在Java中,根据处理的数据单位不同,分为字节流和字符流

//在java.io包下
//字节流:针对二进制文件
InputStream
--FileInputStream
--BufferedInputStream
--ObjectInputStream

OutputStream
--FileOutputStream
--BufferedOutputStream
--ObjectOutputStream

//字符流:针对文本文件。读写容易发生乱码,在读写时最好指定编码集为utf-8
Writer
--BufferedWriter
--OutputStreamWriter

Reader
--BufferedReader
--InputStreamReader
--PrintWriter/PrintStream

1.2流的概念

数据的读写抽象成数据在管道中流动

1.流只能单方向流动

2.输入流用来读取(in)

3.输出流用来写出(out)

4.数据只能从头到尾顺序的读写一次

2.File文件流

2.1概述

封装一个磁盘路径字符串,对这个路径可以执行一次操作,可以用来封装文件路径、文件夹路径、不存在的路径

2.2创建对象

File file = new File(String pathname)
//通过将给定路径名字符串转换为抽象路径名来创建一个新File实例

2.3一些方法

//文件、文件夹属性
length();文件的字节量
exists();是否存在,返回布尔值
isFile();是否为文件,返回布尔值
isDirectory();是否为文件夹,返回布尔值
getName();获取文件名、文件夹名
getParent();获取父文件夹路径
getAbsolutePath();获取文件的完整路径
    
//创建、删除
createNewFile();新建文件,文件夹不存在会异常,文件已存在返回false
mkdirs();新建多层不存在的文件夹\a\b\c
mkdir();新建单层不存在的文件夹\a
delete();删除文件,删除空文件夹
    
//文件夹列表
list();返回String[],包含文件名
listFile();返回File[],包含文件对象
//利用上述方法可以实现对文件的一系列操作

public class TestFile {
   
    //测试文件类
        //Junit单元测试方法:
        //@Test + public + void + 没有参数
    public static void main(String[] args) throws IOException {
   
        //1,创建File对象,读取了指定位置的文件
        File f = new File("D:\\teach\\a.txt");
        //文件夹列表list() listFiles()
        String[] names = f.list();//文件名
        System.out.println(Arrays.toString(names));//null
        File[] files = f.listFiles();//推荐,更常见
        System.out.println(Arrays.toString(files));//null
        //TODO常用方法
        //true
        System.out.println(f.createNewFile());//新建文件,文件夹不存在会异常,文件已经存在返回false
        //false
        System.out.println(f.mkdir());//新建单层不存在的文件夹
        //false
        System.out.println(f.mkdirs());//新建多层不存在的文件夹
        //true
        System.out.println(f.delete());//删除文件,删除空文件夹
        System.out.println();
        //0
        System.out.println(f.length());//文件的字节量
        //false
        System.out.println(f.exists());//是否存在,存在返回true
        //false
        System.out.println(f.isFile());//是否为文件,是文件返回true
        //false
        System.out.println(f.isDirectory());//是否为文件夹,是文件夹返回true
        //a
        System.out.println(f.getName());//获取文件/文件夹名
        //D:\teach
        System.out.println(f.getParent());//获取父文件夹的路径
        //D:\teach\a
        System.out.println
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值