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类的构造器时,仅仅是在 ...
随机推荐
- selenium测试用例的编写,隐式等待与显式等待的编写
开头 用配置好的 selenium 进行一个简单的测试用例的编写,可以参考allure的美化这一遍博文 https://www.cnblogs.com/c-keke/p/14837766.html 代 ...
- 2021-01-02:java中,MinorGC、MajorGC、FullGC 什么时候发生?
福哥答案2021-01-02: MinorGC 在年轻代空间不足的时候发生.MajorGC 指的是老年代的 GC,出现 MajorGC 一般经常伴有 MinorGC.FullGC 老年代无法再分配内存 ...
- 2021-02-14:假设有排成一行的N个位置,记为1~N,N 一定大于或等于 2,开始时机器人在其中的M位置上(M 一定是 1~N 中的一个)。如果机器人来到1位置,那么下一步只能往右来到2位置;如果机器人来到N位置,那么下一步只能往左来到 N-1 位置;如果机器人来到中间位置,那么下一步可以往左走或者往右走;规定机器人必须走 K 步,最终能来到P位置(P也是1~N中的一个)的方法有多少种?
2021-02-14:假设有排成一行的N个位置,记为1~N,N 一定大于或等于 2,开始时机器人在其中的M位置上(M 一定是 1~N 中的一个).如果机器人来到1位置,那么下一步只能往右来到2位置:如 ...
- Python忽略NoData计算多张遥感影像的像元平均值:whitebox库
本文介绍基于Python中whitebox模块,对大量长时间序列栅格遥感影像的每一个像元进行忽略NoData值的多时序平均值求取. 在文章Python ArcPy批量计算多时相遥感影像的各像元 ...
- url函数
url() 函数看起来的格式象:url(r^/account/$', views.index, name=index),它可以接收四个参数,分别是两个必选参数:regex.view 和两个可选参数:k ...
- prefetch_related() 一对多、多对多查询优化,反向查询
prefetch_related() 一对多.多对多查询优化,反向查询 Student.objects.filter(age__lt=30).prefetch_related('course') # ...
- 2023-05-23:如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等, 那么称 X 和 Y 两个字符串相似。如果这两个字符串本身是相等的,那它们也是相似的。 例如,“tars“
2023-05-23:如果交换字符串 X 中的两个不同位置的字母,使得它和字符串 Y 相等, 那么称 X 和 Y 两个字符串相似.如果这两个字符串本身是相等的,那它们也是相似的. 例如,"t ...
- Qt+QtWebApp开发笔记(四):http服务器使用Session和Cookie实现用户密码登录和注销功能
前言 前面实现了基础的跳转,那么动态交互中登录是常用功能. 本篇实现一个动态交互的简单登录和注销功能,在Qt中使用Session和Cookie技术. Demo 下载地址 链接:ht ...
- ODOO13之十四 :Odoo 13开发之部署和维护生产实例
本文中将学习将 Odoo 服务器作为生产环境的基本准备.安装和维护服务器是一个复杂的话题,应该由专业人员完成.本文中所学习的不足以保证普通用户创建应对包含敏感数据和服务的健壮.安全环境. 本文旨在介绍 ...
- Some book
## book [C++] Accelerated C++ C++ Primer 5th C++ 程序设计语言: 1 ~ 3 C++ 程序设计语言: 4 C++ 编程思想 C++ 标准库 2th C+ ...