一.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字符流实现写出

  1. 字节流有乱码问题,所以用字符流(处理中文不可以用字节流)
  2. 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流的更多相关文章

  1. java File (文档流)

    一.   数据流的基本概念 1.数据流 在Java中把不同的数据源与程序之间的数据传输都抽象表述为“流”(stream),以实现相对统一和简单的输入/输出操作方式.传输中的数据就像流水一样,也称为数据 ...

  2. 乐字节Java之file、IO流基础知识和操作步骤

    嗨喽,小乐又来了,今天要给大家送上的技术文章是Java重点知识-IO流. 先来看看IO流的思维导图吧. 一. File 在Java中,Everything is Object!所以在文件中,也不例外! ...

  3. java 字节流和字符流的区别 转载

    转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...

  4. java 21 - 12 IO流的打印流

    打印流 字节流打印流 PrintStream 字符打印流 PrintWriter打印流的特点: A:只有写数据的,没有读取数据.只能操作目的地,不能操作数据源.(只能写入数据到文件中,而不能从文件中提 ...

  5. Java中的IO流系统详解(转载)

    摘要: Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java ...

  6. java 字节流和字符流的区别

    转载自:http://blog.csdn.net/cynhafa/article/details/6882061 java 字节流和字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不 ...

  7. Java中的IO流系统详解

    Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 U ...

  8. java开发之IO流

    一直对IO流记不清楚,从别的地方转过来. 看下图: 流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两 ...

  9. java中的IO流

    Java中的IO流 在之前的时候我已经接触过C#中的IO流,也就是说集中数据固化的方式之一,那么我们今天来说一下java中的IO流. 首先,我们学习IO流就是要对文件或目录进行一系列的操作,那么怎样操 ...

  10. Java IO 文件与流基础

    Java IO 文件与流基础 @author ixenos 摘要:创建文件.文件过滤.流分类.流结构.常见流.文件流.字节数组流(缓冲区) 如何创建一个文件 #当我们调用File类的构造器时,仅仅是在 ...

随机推荐

  1. 2020-12-14:mysql中,可重复读是怎么实现的?

    福哥答案2020-12-14: [答案来自此链接:](http://bbs.xiangxueketang.cn/question/735) 快照读:就是select.MVCC.select * fro ...

  2. 分布式协调服务之Zookeeper

    1. 认识Zookeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用 ...

  3. 前端学习 node 快速入门 系列 —— 事件循环

    事件循环 本篇将对以下问题进行讨论: 浏览器有事件循环,node 也有事件循环,两者有什么异同? node 核心特性(事件驱动和非阻塞 I/O )和事件循环有什么关系? node 中的高并发和高性能和 ...

  4. web自动化07-元素等待

    元素等待   1.什么是元素等待?       在定位页面元素时如果没找到,会在指定时间内一直等待的过程   2.为什么需要元素等待  网络速度慢  电脑配置低  服务器处理请求慢   3.三种元素等 ...

  5. Python基础 - python解释器

    Python解释器是什么 Python解释器本身也是个程序, 它是解释执行 Python代码的,所以叫解释器. 没有它,我们的Python代码是没有办法运行的. 怎么下载安装Python解释器   官 ...

  6. 9.3. Hibernate框架

    Hibernate是一个开源的持久层框架,它可以帮助我们将Java对象映射到数据库表中,并实现对象的持久化操作.Hibernate提供了丰富的API,可以方便地进行CRUD(增删改查)操作,而无需手动 ...

  7. WPF中控件转命令

    WPF不是所有控件都有Command属性,如果窗体需要在ViewModel 使用System.Windows.Interactivity事件 在nuget浏览搜索 下载System.Windows.I ...

  8. CF1810G The Maximum Prefix

    经典套路. 题意 你将随机生成一个长度为 \(k\) 的数组 \(a\),其中 \(a_i\) 有 \(p_i\) 概率为 \(1\),否则为 \(-1\).定义其前缀和数组 \(s_i = \sum ...

  9. Visual Studio2019如何添加引用

    ​ 同一解决方案中添加引用 比如我们想在Test项目中添加Queue项目的引用 1.鼠标右击引用-->添加引用 2."引用管理器"-->项目-->解决方案--&g ...

  10. P3134 [USACO16JAN] Lights Out G 关灯

    P3134 [USACO16JAN] Lights Out G 关灯 目录 P3134 [USACO16JAN] Lights Out G 关灯 [USACO16JAN] Lights Out G 题 ...