基础IO

1.理解文件
1)概念:文件是相关记录或者放在一起的数据的集合
2)文件可以简单地理解为在外设硬盘上面保存数据的一种方式
3)文件一共由两部分组成:属性(文件大小,文件名,文件夹,文件类型等)+内容(就是文件里存放的东西)
2.File文件操作类
1)两个构造方法
public File(String pathname) 创建指定路径文件对象
public File(String parent,String child) 同上,但可指明父路径和子路径
2)File类常用方法-基本文件操作
public boolean exists() 测试指定路径文件或者目录是否存在
public boolean isDirectory() 判定一个文件是目录
public boolean createNewFile() throws IOException 创建一个新文件
3)File类常用方法-目录操作
public boolean mkdir() 创建一个空目录
public boolean mkdirs() 创建目录(无论有多少级父目录,都会创建)
public String getParent() 取得父路径
public File getParentFile() 取得父File对象
4)File类常用方法-文件操作属性
public long length() 取得文件大小(字节)
public lonng lastModified() 最后一次修改日期
5)绝对路径与相对路径
绝对路径:是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径
相对路径:相对与某个基准目录的路径
6)File类常用方法-其他操作
public File[] listFiles() 列出一个目录指定的全部组成
示例代码:

import java.io.File;

public class FlieDemo {
    public static void main(String[] args) {
        //选择指定的文件夹
        File file = new File("E:\\java课件");
        if (file.exists() && file.isDirectory()) {
            File[] result = file.listFiles();
            for (File file2 : result) {
                System.out.println(file2);
            }
        }
    }
}

以上代码的功能是列举一个目录下的所有文件
3.流
1)流的概念
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象,即数据在两设备之间的传输称为流,流的本质是数据传输。
按照流向分:输入流,输出流
按照处理数据的单位分:字节流(8位的字节);字符流(16位的字节)
2)什么是输入输出流
输入就是将数据从各种输入设备(包括文件,键盘等)中读取到内存中。
输出则正好相反,是将数据写入到各种输出设备(比如文件,显示器,磁盘等)
文件既可以作为输出设备,又可以作为输出设备
3)什么是字节流,字符流
字节流:数据流中最小的数据单元是字节。InputStream,OutputStream
字符流:数据流中最小的数据单元是字符,Java中的字符是Unicode编码,一个字符占用两个字节。Reader,Writer
4)字节流
FileInputStream和FileOutputStream
FileInputStream从文件系统中的某个文件中获得输入字节
FileInputStream用于读取诸如图像数据之类的原始字节流
字符缓冲流
BufferedInputStream和BufferedOutputStream
字符流
FileReader和FileWriter
5)字节流对此字符流
字节流操作的基本单元是字节;字符操作的基本单元为Unicode’
字节流在操作的时候本身不会用到缓冲区的,是与文件本身操作的,而字符流在操作的时候是用到缓冲区的
所有文件的存储都是字节(byte)的存储,在磁盘上保留是字节
在使用字节流操作中。即使没有关闭资源(close)方法,也能输出;而字符流不使用close方法的话,不会输出任何内容
6)字符字节转换流
InputStreamReader是Reader的子类,将输入的字节流转换为字符流
OutputStream是Writer的子类,将输出的字符流转换成字节流
4.总结
I/O流的分类
1)按照流向分:输入流,输出流
2)按照数据处理的单位分:字节流(8位的字节) 字符流(16位的字节)
3)按照流的功能分:
节点流(低级流):可以从一个特定的IO设备上读/写数据的流
处理流(高级流/过滤流):是对一个已经存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写操作。通常处理流的构造器上都会带有一个其他流的参数
流的作用:为数据源和目的地建立一个输送通道

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值