一.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. 在 CentOS 上搭建 Mumble 服务器

    Mumble 服务器搭建 前言 Mumble 是一个开源.低延迟.高质量的语音通话平台.可以在多个平台搭建,并且有多个开源的客户端(Windows.Linux.Android.MacOS).这是 官网 ...

  2. 2022-11-24:小团在地图上放了3个定位装置,想依赖他们进行定位! 地图是一个n*n的棋盘, 有3个定位装置(x1,y1),(x2,y2),(x3,y3),每个值均在[1,n]内。 小团在(a,

    2022-11-24:小团在地图上放了3个定位装置,想依赖他们进行定位! 地图是一个n*n的棋盘, 有3个定位装置(x1,y1),(x2,y2),(x3,y3),每个值均在[1,n]内. 小团在(a, ...

  3. 2022-04-17:给定一个数组arr,其中的值有可能正、负、0, 给定一个正数k。 返回累加和>=k的所有子数组中,最短的子数组长度。 来自字节跳动。力扣862。

    2022-04-17:给定一个数组arr,其中的值有可能正.负.0, 给定一个正数k. 返回累加和>=k的所有子数组中,最短的子数组长度. 来自字节跳动.力扣862. 答案2022-04-17: ...

  4. 2022-04-08:在一张 无向 图上,节点编号0~N-1。老鼠开始在1节点,猫在2节点,0号节点是洞,老鼠想进洞, 老鼠第先出发,猫后出发,轮流行动。 在每个玩家的行动中,他们 必须 沿着图中与所

    2022-04-08:在一张 无向 图上,节点编号0~N-1.老鼠开始在1节点,猫在2节点,0号节点是洞,老鼠想进洞, 老鼠第先出发,猫后出发,轮流行动. 在每个玩家的行动中,他们 必须 沿着图中与所 ...

  5. 记一次排查:接口返回值写入excel后,从单元格copy出来的数据会带有多重引号的问题

    在项目里刚好有3个服务,同一个网关内层的3个服务,两个php的,一个golang的,为了提高负载以及进行分流,部分客户的接口调用会被网关自动分配到go服务. 恰好为了测试,我写了一个全量用户的生产.测 ...

  6. css设置边框四角样式

    开发中使用css 伪类 是再常见不过的事情了,运用好了能轻松实现许多复杂的样式,大大减少使用图片消耗带宽的问题,今天我们就使用伪类来实现登录框的四角样式 html代码如下 <div class= ...

  7. ODOO13之二 Odoo 13开发之开发环境准备

    在更深入了解 Odoo 开发之前,我们应配置好开发环境并学习相关的基础管理任务.本文中,我们将学习创建 Odoo 应用所需用到的工具和环境配置.这里采用 Ubuntu 系统来作为开发服务器实例的主机, ...

  8. Java(包机制、doc、Scanner对象)

    包机制 本质:文件夹 用于区别类名的命名空间 一般利用公司域名倒置作为包名 import与通配符* 导入包 例: import java.util.Scanner; import com.xxx.xx ...

  9. 利用APIFOX对ABAP函数进行调用

    1.安装APIFOX,当然也可以使用在线版,无需下载 官网地址:https://apifox.com/ 2.新建项目 3.为项目起一个名称,为相关开发测试人员授权 4.在根目录新增子目录 5.编辑开发 ...

  10. tryhackme_nmap

    https://www.cnblogs.com/-Lucky-/p/17100073.html Nmap基本端口扫描 nmap中考虑的端口状态 Open:表示服务正在侦听指定端口. Closed:表示 ...