IO流(一):字节流

file是java.io.包下的类,file类的对象,用于代表当前操作系统的文件(可以是文件或者文件夹)

file类只能对文件本身进行操作,不能读写文件里面存储的数据

IO流用于读写数据

file代表文本

File

  • 构造方法
File(String pathname)//通过将给定的路径名字字符串转换为抽象路劲名来创建新的File实例File f1 = new File("D:\\resource\\a.txt");File f2 = new File("D:/resource/a.txt");File f3 = new File("D:"+ File.resource+"resource"+File.resource+"a.txt");
//File.resource 为api,等同于系统的分隔符
f1.length()//获取文件大小
f1.exists()//判断文件是否存在

File可以指代一个不存在的文件路径,它封装的对象仅仅是一个路径名

File对象可以代表文件,也可以代表文件夹

绝对路径:带盘符的(D:\resource\a.txt)

相对路径:不带盘符,从当前工程下的目录开始寻找(resource\a.txt)

  • 常用方法一:判断文件类型,获取文件信息

    在这里插入图片描述

  • 常用方法二:创建文件,删除文件

    public boolen createNewFile()//创建一个新文件,成功则返回true,若文件存在,则创建失败public boolen mkdir()//创建一个文件夹,只能创建一级文件夹pbulic boolen mkdirs()//创建多级文件夹public boolen delete()//删除文件,或者空文件夹,不能删除非空文件夹,删除后的文件不会放入回收站
    
  • 常用方法三:遍历文件夹

    public String[] list()//获取当前目录下的所有“一级文件名称”到一个字符串数组中
    public File[] listFiles()//获取当前目录下所有“一级文件对象”到一个文件对象数组中
    

    在这里插入图片描述

IO流

I:指input,称为输入流,负责把数据读到内存中去

O:指output,称为输出流,负责写数据出去

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

FileInputStream(文件字节输入流)

在这里插入图片描述

在这里插入图片描述

//创建文件字节输入流管道,与源文件接通
InputStream is = new FileInputStream("D:\\resource\\a.txt");
//开始读取文件的字节数据
int b1 = is.read()//每次读入一个字节,如果文件中已经没有数据了,则返回-1;
//流使用完后,必须关闭,释放资源
is.close();---byte[] buffer = new byte[1024];
//每次读入多个字节到字节数组中去,返回读取的字节数量,读取完毕,返回-1;
int b2 = is.read(buffer);//返回读入的字节数---
//一次读入全部数据方法一:准备一个字节数组,大小与文件大小一样方法二:public byte[] readAllBytes()//直接将当前字节输入流对应的文件对象的字节数据装到一个字节数组返回

FileOutputStream

在这里插入图片描述

在这里插入图片描述

OutputStream os = new FileOutputStream("D:\\resource\\a.txt");//覆盖数据
OutputStream os = new FileOutputStream("D:\\resource\\a.txt",true);//追加数据
os.write(97);//97也是一个字节,代表a
os.write('b');//'b'也是一个字节
//写入了-》ab---
byte[] bytes = "我爱你中国abc".getBytes();
os.write(bytes);os.close();//关闭流

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/423182.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络安全的概述

网络空间的概念 2003年美国提出网络空间的概念:一个由信息基础设施组成的互相依赖的网络。 我国官方文件定义:网络空间为继海,陆,空,天以外的第五大人类活动领域 网络安全发展历史 通信保密阶段 --- 计算机安全阶段…

柔性数组和C语言内存划分

柔性数组和C语言内存划分 1. 柔性数组1.1 柔性数组的特点:1.2 柔性数组的使用1.3 柔性数组的优势 2. 总结C/C中程序内存区域划分 1. 柔性数组 也许你从来没有听说过柔性数组(flexible array)这个概念,但是它确实是存在的。 C99 中&#xff…

React16源码: React中的completeUnitOfWork的源码实现

completeUnitOfWork 1 )概述 各种不同类型组件的一个更新过程对应的是在执行 performUnitOfWork 里面的 beginWork 阶段它是去向下遍历一棵 fiber 树的一侧的子节点,然后遍历到叶子节点为止,以及 return 自己 child 的这种方式在 performUni…

【小白学机器学习3】关于最简单的线性回归,和用最小二次法评估线性回归效果, 最速下降法求函数的最小值

目录 1 什么是回归分析 1.1 什么是线性回归 1.2非线性回归 2 数据和判断方法 2.1 原始数据 2.2 判断方法:最小二乘法 3 关于线性回归的实测 3.1 用直线模拟 3.2 怎么判断哪个线性模拟拟合更好呢? 3.2.1 判断标准 3.2.2 最小二乘法 3.2.3 高维…

Consul使用详解

简介 Consul是一个由HashiCorp公司开发的开源软件,其发展历程可以概括为以下几个阶段: 初期阶段(2014-2015年):Consul最初发布于2014年5月,这个版本是基于Go语言开发的,并提供了诸如服务发现、…

旅游项目day14

其他模块数据初始化 搜索实现 请求一样,但是参数不一样,根据type划分。 后台需要提供一个搜索接口。 请求分发器: 全部搜索 目的地搜索 精确搜索、无高亮展示 攻略搜索 全文搜索、高亮显示、分页 游记搜搜 用户搜索 丝袜哥

01 Redis的特性

1.1 NoSQL NoSQL(“non-relational”, “Not Only SQL”),泛指非关系型的数据库。 键值存储数据库 : 就像 Map 一样的 key-value 对。如Redis文档数据库 : NoSQL 与关系型数据的结合,最像关系…

MYSQL之索引语法与使用

索引分类 分类 含义 特点 关键字 主键索引 针对表中主键创建的索引 默认自动创建,只能有一个 PRIMARY 唯一索引 …

【漏洞复现】CloudPanel makefile接口远程命令执行漏洞(CVE-2023-35885)

文章目录 前言声明一、CloudPanel 简介二、漏洞描述三、影响版本四、漏洞复现五、修复建议 前言 CloudPanel 是一个基于 Web 的控制面板或管理界面,旨在简化云托管环境的管理。它提供了一个集中式平台,用于管理云基础架构的各个方面,包括 &a…

JVM实战篇:GC调优

目录 一.GC调优的核心指标 1.1吞吐量(Throughput) 1.2延迟(Latency) 1.3内存使用量 二.GC调优的方法 2.1监控工具 Jstat工具 VisualVm插件 Prometheus Grafana 2.2诊断原因 GC日志 GC Viewer GCeasy 2.3常见的GC模…

QT开发低功耗蓝牙BLE连接ECB02模块进行数据收发

时间记录:2024/1/22 一、注意点 (1)pro文件中引入bluetooth模块 (2)安卓端运行时需要同步打开定位功能才能扫描到蓝牙设备 (3)mingw套件不能在Windows上运行,需要使用MSVC套件编译…

Leetcode56. 合并区间

文章目录 题目原题链接思路代码 题目 以数组intervals表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: …