java file I/O流
一.File的简介:(java.io包)
生活中的文件:
(1)文件的作用:持久化(瞬时状态的对立面状态)
(1)文件的定义:一堆数据的集合
(2)文件存储的位置:磁盘,硬盘,软盘,U盘等等
计算机中的文件File
(1)file的定义:java.io中的File类
(2)创建File:new File();创建文件实例
(3)File属性:文件的位置,文件的名称,文件的内容
File文件的增删查
(1)添加文件
public static void main(String[] args) throws IOException {
File file = new File("写上文件地址和文件名这一行在查询和删除中都要用");
file.createNewFile();
(2)查询文件
file.getname()获取文件名
file.getAbsolutPath()获取文件地址
(3)删除文件
file.delet()
生活中的流
(1)人流。车流。类似于人或者车的集合
计算机中流
(1)定义数据的集合(先进后出)
(2)流传递的方向:从原数据源传递到目标数据源
流的指向
(1)读入(从文件中读入到程序(idea)中)
(2)写出(从程序(idea)中写出到文件中)
流的分类*
(1)按流向分:输出流OutputStream和Write
输入流InputStream和reader
(2)按照处理单元分
字节流:OutputStream,InputStream
字符流:Write,reader
二.字节流
FileInputStream字节输入流实现读取
FileInputStream字节输入流实现数组读取
FileInputStream字节输入流FileOutputStream字节输出流实现复制
(1)FileInputStream字节输入流实现读取
psvm{
FileInputStream fis=null;
fis=new FileInPutStream;
int arraylength=0;
while((arraylength=fis.read)!=-1){
sout((char)arraylength);}}
(2)FileInputStream字节输入流实现数组读取
psvm{
FileInputStream fis=null;
fis=new FileInPutStream;
int arraylength=0;
byte[]bytes=new byte[1024]
while((arraylength=fis.read(bytes))!=-1){
for(int i=0;i<arrayleng;i++){
sout((char)byte[i])
}
} }
(3)FileInputStream字节输入流FileOutputStream字节输出流实现复制
psvm{
FileInputStream fis=null;
fis=new FileInPutStream;
FileOutputStream fos=null;
fos=new FileOutputStream
int arraylength=0;
byte[]bytes=new byte[1024]
while((arraylength=fis.read(bytes))!=-1){
fos.write(bytes,0,arraylength);} }
三.字符流
字节流读取时中文乱码问题
FileReader字符流实现读取
FileWriter字符流实现写出
- 字节流有乱码问题,所以用字符流(处理中文不可以用字节流)
2.FileReader字符流实现读取
如果文件中出现中文需要用字符流输入字符串的输出
FileReader fr=null;
fr=new FileReader;
int arraylength=0;
char[]chars=new char[1024];
while((arraylength=fr.reader(chars))!=-1){
for(int i=0;i<arrayleng;i++){
Sout(chars[i])
}
}
3.FileWriter字符流实现输出
FileWrite fw=null;
fw=new FileWrite(" ");
fw.write(" ")
四.缓冲流
字符流FileReader加BufferedReader实现读取
字符流FileWriter加BufferedWriter实现写出
(1)字符流FileReader加BufferedReader实现读取
FileReader fr=null;
BufferedReader be=null;
fr=new FileReader()
br=new BufferedReader(fr);
String data=null;
while( (data=br.readLine())!=null;){
Sout(data)
}
(2)字符流FileWriter加BufferedWriter实现写出
FileWrite fw=null;
BufferedWrite bw=null;
fw=new FileWrite();
bw=new BufferedWrite(fw);
bw .write( "");
五.复制
1.字符流实现复制FileReader fr=null;
BufferedReader br=null;
FileWrite fw=null;
BufferedWrite bw=null
fr=new FileReader("");
br=new BufferedReader(fr);
fw=new FileWrite("");
bw=new Bufferedwrite;
String line=null;
StringBuffer buffer=new StringBuffer();
while((line=br.readLine())!=null){
buffer.append(line);
}bw.write(buffer.toString())
2.复制二进制文件(图片,视频)建议优先使用字节流加DataInputStream/DataOputStream的流(稳定防数据缺失)
FileInputStream fis=num;
DataInputStream dis=num;
FileOutputStream fos=num;
DaraOutputStream dos=num;
fis=new FileInputStream(“”);
dis=new DataInputStream(fis);
fos=new FileOutputStream(“”);
dos=new DataOutputStream(fos);
byte []bytes=new byte[1024];
int arrayleng=0;
while((arrayleng=dis.read(bytes)!=-1){
dos.write(bytes,0,arrayleng)
}
java file I/O流的更多相关文章
- java File (文档流)
一. 数据流的基本概念 1.数据流 在Java中把不同的数据源与程序之间的数据传输都抽象表述为“流”(stream),以实现相对统一和简单的输入/输出操作方式.传输中的数据就像流水一样,也称为数据 ...
- 乐字节Java之file、IO流基础知识和操作步骤
嗨喽,小乐又来了,今天要给大家送上的技术文章是Java重点知识-IO流. 先来看看IO流的思维导图吧. 一. File 在Java中,Everything is Object!所以在文件中,也不例外! ...
- java 字节流和字符流的区别 转载
转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...
- java 21 - 12 IO流的打印流
打印流 字节流打印流 PrintStream 字符打印流 PrintWriter打印流的特点: A:只有写数据的,没有读取数据.只能操作目的地,不能操作数据源.(只能写入数据到文件中,而不能从文件中提 ...
- Java中的IO流系统详解(转载)
摘要: Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java ...
- java 字节流和字符流的区别
转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...
- Java中的IO流系统详解
Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 U ...
- java开发之IO流
一直对IO流记不清楚,从别的地方转过来. 看下图: 流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两 ...
- java中的IO流
Java中的IO流 在之前的时候我已经接触过C#中的IO流,也就是说集中数据固化的方式之一,那么我们今天来说一下java中的IO流. 首先,我们学习IO流就是要对文件或目录进行一系列的操作,那么怎样操 ...
- Java IO 文件与流基础
Java IO 文件与流基础 @author ixenos 摘要:创建文件.文件过滤.流分类.流结构.常见流.文件流.字节数组流(缓冲区) 如何创建一个文件 #当我们调用File类的构造器时,仅仅是在 ...
随机推荐
- vue项目使用rem布局刷新页面瞬间元素尺寸由小变大,页面闪现错乱样式
vue项目使用px2remLoader插件,在index.html自定义设置font-size的大小,尤其是在首屏加载的时候,会出现页面各个元素尺寸由小变大的一个过程,很难看 刚开始一直在想是不是因为 ...
- 2022-01-23:力扣425,单词方块。 给定一个单词集合 (没有重复),找出其中所有的 单词方块 。 一个单词序列形成了一个有效的单词方块的意思是指从第 k 行和第 k 列 (0 ≤ k < m
2022-01-23:力扣425,单词方块. 给定一个单词集合 (没有重复),找出其中所有的 单词方块 . 一个单词序列形成了一个有效的单词方块的意思是指从第 k 行和第 k 列 (0 ≤ k < ...
- Django4全栈进阶之路10 url路由设置
在 Django 4 中,可以在主路由文件中设置和管理子路由.通常,我们会为每个应用程序创建一个子路由文件,以便更好地组织代码和管理路由. 以下是 Django 4 中设置主路由和子路由的示例: 首先 ...
- Pycharm的Available Packages为空问题
问题描述:可用软件包为空,Pycharm的Available Packages为空问题 打开软件包仓库设置画面 新建软件包仓库 输入软件包仓库 完成,可用软件包 Available Packages正 ...
- 没想到还有这种骚操作~如何使用Golang实现无头浏览器截图?
前言 在Web开发中,有时需要对网页进行截图,以便进行页面预览.测试等操作. 而使用无头浏览器来实现截图功能,可以避免手动操作的繁琐和不稳定性. 这篇文章将介绍:使用Golang进行无头浏览器的截图, ...
- SignalR WebSocket通讯机制
1.什么是SignalR ASP.NET SignalR 是一个面向 ASP.NET 开发人员的库,可简化向应用程序添加实时 Web 功能的过程. 实时 Web 功能是让服务器代码在可用时立即将内容推 ...
- Must use destructuring props assignmenteslint
eslint 检测提示Must use destructuring props assignmenteslint 使用对象结构就可以解决了
- mac部署flutter时执行brew update无反应
找来找去还是镜像的问题 1.替换brew 镜像 git remote set-url origin https://mirrors.ustc.edu.cn/ew.git 2.替换homebrew-co ...
- js原型和原型链(用代码理解代码)
众所周知js原型及原型链是很多开发者的一个疼点(我也不例外),我也曾多次被问起,也问过不少其他人,如果在自己没有真正的去实践和理解过:那么突然之间要去用最简单的话语进行概述还真不是一件容易的事情: 其 ...
- docker部署gitlab CI/CD (一)第一篇:部署gitlab及汉化
网上很多类似教程,但多少有点夹带私货,有的竟然拉取的第三方镜像,而且很多都要修改配置文件,完全不知道是为什么,于是结合其他人的博客和官方文档,知其然也要知其所以然,于2023年4月17日写下这篇. 官 ...