java之字节型文件流

简介: 递归----方法调用 File类的对象<----->本地硬盘文件 查看属性 创建新的文件 新的文件夹 查看父元素目录 文件夹的遍历 删除 file对象不能操作文件中的内容-------->通过流I/O的方式来完成 流按照方向(功能)来区分 in(读取) out(写入) 操作的目标来区分 文件流 数组流 字符串流 数据流 对象流 网络流学习文件流---> 顾名思义 读取文件中的信息in 将信息写入文件中out 文件流按照读取或写入的单位(字节数)大小来区分 字节型文件

递归----方法调用

   File类的对象<----->本地硬盘文件

   查看属性

   创建新的文件  新的文件夹

   查看父元素目录  

   文件夹的遍历  删除

   file对象不能操作文件中的内容-------->通过流I/O的方式来完成

   流按照方向(功能)来区分

   in(读取) out(写入)

   操作的目标来区分

   文件流  数组流  字符串流  数据流  对象流  网络流

学习文件流--->

   顾名思义  读取文件中的信息in   将信息写入文件中out

   文件流按照读取或写入的单位(字节数)大小来区分

   字节型文件流(1字节)

   FileInputStream/FileOutputStream

   字符型文件流(2字节--1字符)

   FileReader/FileWriter  

容器

   1.变量    只能存一份

   2.数组    存储好多个    数据类型统一

   3.集合    存储好多个    存储后个数还能改变    泛型---数据类型统一

   如上三个都是Java中的类型(对象-->内存)

   都存储在内存中  程序执行完毕  虚拟机停止的时候  内存空间就回收啦

   数据都是临时性存储的

   4.文件    存储好多信息

   文件是存储在硬盘上的--->永久性保存

   数据虽然是安全了

   文件毕竟不在内存中  需要通过IO操作文件    JDBC

字节型文件输入流

   FileInputStream

   1.包   java.io

   2.了解一下继承关系    InputStream类  字节型输入流的父类

   3.创建对象

       调用一个带File类型的构造方法

       调用一个带String类型的构造方法

   4.常用方法

   int code = read();  

   每次从流管道中读取一个字节   返回字节的code码

   int count = read(byte[])  

   每次从流管道中读取若干个字节  存入数组内  返回有效元素个数

   int count = available();   返回流管道中还有多少缓存的字节数

   skip(long n)   跳过几个字节  读取

   多线程--->利用几个线程同时读取文件

   10000字节    5个小人同时读取

   1-2000   2001-4000   4001-6000   6001-8000   8001-10000

   D当做服务器    E当做客户端

   close()将流管道关闭---必须要做  最好放在finally里

   注意代码的健壮性  判断严谨

字节型文件输出流

   FileOutputStream 将数据写入文件中

   1. java.io

   2.继承OutputStream  所有字节型输出流的父类

   3.创建对象

   调用一个带File参数   还有File boolean重载

   调用一个带String参数   还有String boolean重载

   4.常用方法

   write(int code);  将给定code对应的字符写入文件   '='

   write(byte[])    将数组中的全部字节写入文件   getByte()

   flush(); 将管道内的字节推入(刷新)文件

   close(); 注意在finally中关闭

目录
相关文章
|
9月前
|
Java
java 读取文件 获取byte[]字节 并执行Gzip的压缩和解压
java 读取文件 获取byte[]字节 并执行Gzip的压缩和解压
82 0
|
2天前
|
缓存 Java 数据处理
|
1月前
|
分布式计算 Java 调度
MaxCompute产品使用合集之使用Tunnel Java SDK上传BINARY数据类型时,应该使用什么作为数据类字节
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2月前
|
Java
使用java字节输入流读取文件
使用java字节输入流读取文件
14 0
|
3月前
|
消息中间件 安全 前端开发
字节面试:说说Java中的锁机制?
Java 中的锁(Locking)机制主要是为了解决多线程环境下,对共享资源并发访问时的同步和互斥控制,以确保共享资源的安全访问。 锁的作用主要体现在以下几个方面: 1. **互斥访问**:确保在任何时刻,只有一个线程能够访问特定的资源或执行特定的代码段。这防止了多个线程同时修改同一资源导致的数据不一致问题。 2. **内存可见性**:通过锁的获取和释放,可以确保在锁保护的代码块中对共享变量的修改对其他线程可见。这是因为 Java 内存模型(JMM)规定,对锁的释放会把修改过的共享变量从线程的工作内存刷新到主内存中,而获取锁时会从主内存中读取最新的共享变量值。 3. **保证原子性**:锁
43 1
|
3月前
|
算法 Java 程序员
火爆Boss直聘的2023最牛字节Java面试手册!助你狂拿千份offer!
当下程序员现状 根据一些调查报告,可以了解到当下程序员的现状。 首先,从年龄分布来看,年轻的程序员占据了主导地位。 30岁以下的开发者占比最高,为81%,而40岁以上的开发者仅占3%。 这意味着,程序员这个行业在一定程度上是年轻化的,同时也面临着一些中年转行或者技术更新换代的问题。 在性别方面,男性程序员的比例在90%以上,女性程序员的比例较低。 这可能和传统观念中将程序员视为男性职业有关。然而,随着技术的普及和女性对计算机科学的兴趣逐渐提高,女性程序员的比例也在逐渐增加。 从职业发展来看,程序员的职业发展相对较慢。 虽然程序员的薪资普遍较高,但是工作压力也很大,需要不断学习和更
141 0
|
11月前
|
存储 消息中间件 算法
字节面试的这道Java面试题各位能答上来吗:谈谈你对时间轮的理解?
一位工作了 7 年的程序员,去字节面试,被问到时间轮的问题。他说这个问题超出了他的知识面,自己也在网上也找了一些文章学习,但还是理解得不是很深刻。他希望让我出一期关于时间轮的面试题解析。今天,就给这位粉丝安排。
80 1
|
12月前
|
消息中间件 Java 关系型数据库
宅家30天,2万字节java高级工程师面试题解析,如何斩获阿里p7
宅家里一个月,“闭关修炼”的你是不是正在为金三银四跳槽季发愁呢?小编今天说的这富含的15个互联网大厂Java高级工程师核心面试问题整理!内容包括: kafka面试题及解析18道 ZooKeeper面试题及解析28道 Linux 面试真题及解析45道 MySQL面试真题及解析50道 springboot面试真题及解析22道 微服务面试真题及解析50道 mybatis面试真题及解析27道 readis面试真题及解析40道 好好学习将这些面试题都吃透,让你金九银十不再慌张。
94 0
|
3月前
|
Java 关系型数据库 应用服务中间件
阿里最新春招面经,腾讯/美团/字节1万道Java中高级面试题
又是一年过去了,职场的积雪还没有消融,又迎来了一次大考。疫情还没完全过去,大家强打起精神,相互问好致意,眼角却满是疲惫...
|
3月前
|
算法 Java
记十次面试字节/美团失败总结的《520道LeetCode题Java版答案》
去字节、美团、BAT等大厂面试,刷LeetCode上的数据结构+算法题是必修课。许多读者说,刷题的时候经常会遇到困难,想要找一本答案题解做参考。