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类的构造器时,仅仅是在 ...
随机推荐
- Feign踩坑源码分析--@FeignClient注入容器
一. @EnableFeignClients 1.1.类介绍 从上面注释可以看出是扫描声明了@FeignClient接口的类,还引入了 FeignClientsRegistrar类,从字面意思可以看出 ...
- python使用docxtpl生成word模板
python-docxtpl包简单使用和实战,Python处理word,docx文件. 最近需要处理一些爬虫得到的数据来进行一些自动化报告的操作,因为需要生成的是word的报告,所以估选用docxtp ...
- Jenkins - Windows环境修改主目录路径
Jenkins - Windows环境修改主目录路径 前言 如果Jenkins部署在Windows环境中,Jenkins主目录默认在 C:\Users\用户名\.jenkins下: 所有Jenkins ...
- linux nfs共享存储服务
目录 一.nfs服务 二.nfs优点 三.配置文件 四.共享文件配置过程 五.实验 1.创建共享文件(两台终端共享) 一.nfs服务 概念:网络上共享文件系统的协议,运行多个服务器之间通过网络共享文件 ...
- 预测 motif 的计算原理
本文章来源于简书,作者小潤澤,已获原作者授权:部分内容有调整. 前言 蛋白质中功能的基本单元是 domain,是一种特殊的三维结构,不同结构的 domain 与其他分子特异性结合从而发挥功能.与此类似 ...
- 自研ORM嵌套查询和子查询,强不强大您说了算。
测试代码 var count = 0; var refAsync = new RefAsync<int>(); //下面示例方法的重载均支持 var query = db.Query< ...
- ASP.NET Core 6框架揭秘实例演示[38]:两种不同的限流策略
承载ASP.NET应用的服务器资源总是有限的,短时间内涌入过多的请求可能会瞬间耗尽可用资源并导致宕机.为了解决这个问题,我们需要在服务端设置一个阀门将并发处理的请求数量限制在一个可控的范围,即使会导致 ...
- tSNE算法在自然语言处理中的应用:文本降维和可视化
目录 技术原理及概念 t-SNE(Toeplitz-Stochastic Neural Network)是一种常用的文本降维和可视化算法,它的核心思想是将高维文本数据映射到低维空间,同时保持数据的一致 ...
- 如何刷新 DNS 缓存 (macOS, Linux, Windows)
如何刷新 DNS 缓存 (macOS, Linux, Windows) Unix Linux Windows 如何刷新 DNS 缓存 (macOS, FreeBSD, RHEL, CentOS, De ...
- 文献精读1:SpikTransformer
Spikformer code source(pku):GitHub - ZK-Zhou/spikformer: ICLR 2023, Spikformer: When Spiking Neural ...