一.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. IBM小型机 - AIX系统配置IP

    AIX系统网口配置IP 前言 新部署的系统都是要通过IP来访问的,但是AIX系统配置IP的方式和Linux的不一样: 为了配置后可以通过远程访问系统,我们要给网口配置上IP. 操作步骤 1.新部署的A ...

  2. Django4全栈进阶之路5 Model模型

    在 Django 中,模型(Model)是用于定义数据结构的组件,其作用如下: 定义数据结构:模型用于定义数据库中的表格和表格中的字段(列),其中每个模型类对应一个表格,模型中的每个字段对应表格中的一 ...

  3. [MAUI]在.NET MAUI中复刻苹果Cover Flow

    @ 目录 原理 3D旋转 平行变换 创建3D变换控件 绘制封面图片 应用3D旋转 应用平行变换 绘制倒影 创建绑定属性 创建绑定数据 创建布局 计算位置 计算3D旋转 创建动效 项目地址 Cover ...

  4. go语言中实现生产者-消费者模式有哪些方法呢

    1. 简介 本文将介绍在 Go 语言中实现生产者消费者模式的多种方法,并重点探讨了通道.条件变量的适用场景和优缺点.我们将深入讨论这些方法的特点,以帮助开发者根据应用程序需求选择最适合的方式.通过灵活 ...

  5. SpringCloud+Eureka初识+Ribbon+Feign+Hystrix(服务熔断,服务降级)+hashbroad

    ​Eureka注册中心 1.导包 <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework ...

  6. ol设置最佳可视范围和限制缩放

    目前随着科技发展,智慧城市的不断发展,GIS方面的技术也是层出不穷,如市场流行的 OPENLAYERS, CESIUM, THREE等,但是也会有很多棘手的问题,比如不同分辨率下,图层的显示范围,禁止 ...

  7. HashMap 以及多线程基本感念

    接口 Map :映射项,(键值对 ) 的容器注意: 键 是唯一的 值 是可以重复的实现类 HashMap :哈希表结构 允许使用null值 和 null 键 线程不安全 键唯一 无序 linkedHa ...

  8. 一个.Net强大的Excel控件,支持WinForm、WPF、Android【强烈推荐】

    推荐一个强大的电子表单控件,使用简单且功能强大. 项目简介 这是一个开源的表格控制组件,支持Winform.WPF和Android平台,可以方便的加载.修改和导出Excel文件,支持数据格式.大纲.公 ...

  9. 如何解决PyCharm中运行不了python代码的问题

    一.问题分析 一般是新手小白才会出现这个问题.刚入门python或者Web自动化测试的集美们很多都会选择使用PyCharm来运行python,但是下载安装完PyCharm后,新建了一个python项目 ...

  10. CentOS7 配置本地yum源软件仓库

    CentOS7 配置本地yum源软件仓库 前言 配置本地yum源软件仓库可以离线状态下安装本地已有的软件 先连接虚拟光驱,对应的光驱iso文件 查看磁盘分区状态 可以看到sr0 未挂载 [root@l ...