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类的构造器时,仅仅是在 ...
随机推荐
- List 集合手动分页的方法总结
前言 在工作中难免会遇到,将组装的集合数据进行分页处理,现在我将自己手动分页的三种方法进行总结,有不对的地方敬请大家批评指正! 一.数据准备 // 当前页 int pageIndex = 1; // ...
- 2022-12-14:给定一个正数n, 表示从0位置到n-1位置每个位置放着1件衣服 从0位置到n-1位置不仅有衣服,每个位置还摆着1个机器人 给定两个长度为n的数组,powers和rates pow
2022-12-14:给定一个正数n, 表示从0位置到n-1位置每个位置放着1件衣服 从0位置到n-1位置不仅有衣服,每个位置还摆着1个机器人 给定两个长度为n的数组,powers和rates pow ...
- 2021-05-24:盛最多水的容器。给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai)
2021-05-24:盛最多水的容器.给你 n 个非负整数 a1,a2,-,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 ...
- 2021-12-10:64位的浮点数和64位的有符号整数,哪个能表示的数据个数多? A.整型多。 B.浮点型多。 C.与平台有关。 D.一样多。 来自qq群。
2021-12-10:64位的浮点数和64位的有符号整数,哪个能表示的数据个数多? A.整型多. B.浮点型多. C.与平台有关. D.一样多. 来自qq群. 答案2021-12-10: 答案选A. ...
- 2021-10-02:单词搜索。给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母
2021-10-02:单词搜索.给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false .单词必须按照字母 ...
- Selenium - 元素等待(2) - 显式等待/EC等待
Selenium - 元素等待 显式等待 显式等待是一种灵活的等待方式,需要声明等待的结束条件,当满足条件时会自动结束等待: 需要引入WebDriverWait包以及exception_conditi ...
- ICML 2017-Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
Key Gradient Descent+TRPO+policy Gradient 训练模型的初始参数,模型在新任务上只需参数通过一个或多个用新任务的少量数据计算的梯度步骤更新后,就可以最大的性能.而 ...
- EL表达式访问JavaBean
前景提要 刚才有个朋友问我,赵大哥这个实验怎么做?我说哪个实验,给我发了几张截图.我一看,嗷,原来是今天,有个Java实验啊,他说大哥,能不能教教我,我说可以.我一说 他 啪的就站起来了, 很快啊 , ...
- 使用python连接阿里云iot平台时遇到的问题及解决方法(on_connect打印的rc值为9,上传物模型值)
使用python连接阿里云iot平台时遇到的问题及解决方法 on_connect打 ...
- 全同态(Fully Homomorphic Encryption, FHE)和半同态(Partially Homomorphic Encryption, PHE)介绍
全同态(Fully Homomorphic Encryption, FHE)和半同态(Partially Homomorphic Encryption, PHE) 全同态加密(FHE)是指一种加密方案 ...