一.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. 2023-02-28:moonfdd/ffmpeg-go是用go语言绑定ffmpeg的库,目前是github上最好用的库。请用go语言将yuv文件编码为h264文件。

    2023-02-28:moonfdd/ffmpeg-go是用go语言绑定ffmpeg的库,目前是github上最好用的库.请用go语言将yuv文件编码为h264文件. 答案2023-02-28: 使用 ...

  2. 2022-08-13:以下go语言代码输出什么?A:[5 6 7 1 2 3 4] B:[1 2 3 4 5 6 7] C:[4 5 6 7 1 2 3]。 package main import

    2022-08-13:以下go语言代码输出什么?A:[5 6 7 1 2 3 4] B:[1 2 3 4 5 6 7] C:[4 5 6 7 1 2 3]. package main import ( ...

  3. 2021-04-02:给定一个正方形或者长方形矩阵matrix,实现zigzag打印。[[0,1,2],[3,4,5],[6,7,8]]的打印顺序是0,1,3,6,4,2,5,7,8。

    2021-04-02:给定一个正方形或者长方形矩阵matrix,实现zigzag打印.[[0,1,2],[3,4,5],[6,7,8]]的打印顺序是0,1,3,6,4,2,5,7,8. 福大大 答案2 ...

  4. 2021-09-11:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。反转后整数超过 32 位的有符号整数的范围就返回0,假设环境不允许存储 64 位整数(有符号或无符号)。

    2021-09-11:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果.反转后整数超过 32 位的有符号整数的范围就返回0,假设环境不允许存储 64 位整数(有符号或无符号). 福大大 ...

  5. js有关dom操作学习

    dom对象就是操作网页的document dom节点: 整个文档是一个文档节点(document对象) 每个 HTML 元素是元素节点(element 对象) HTML 元素内的文本是文本节点(tex ...

  6. 最流行的AI绘图工具Midjourney,你不得不知道的使用技巧

    ​关注文章下方公众号,可免费获取AIGC最新学习资料 本文字数:1500,阅读时长大约:10分钟 Midjourney成为了最受欢迎的生成式AI工具之一.它的使用很简单.输入一些文本,Midjourn ...

  7. SpringBoot开发简单接口流程

    SpringBoot开发接口 初始化 新建项目 (1)使用 IDEA 的过程,新建Project,左侧选 Spring Initializr,点Next (2)选 8 版本,点Next (3)左侧选择 ...

  8. 浅聊一下 C#程序的 内存映射文件 玩法

    一:背景 1. 讲故事 前段时间训练营里有朋友问 内存映射文件 是怎么玩的?说实话这东西理论我相信很多朋友都知道,就是将文件映射到进程的虚拟地址,说起来很容易,那如何让大家眼见为实呢?可能会难倒很多人 ...

  9. 发布:iNeuOS工业互联网操作系统 V5 Preview1 版本(自主可控)

    这半年来一直深耕包头,这个城市比较不错,但是推进项目的难度确实挺大的.与开发产品相比,后者更省心.但是光研发产品,没有项目依托,没办法产生价值.有些大学和研究院确实有好的产品,但是没有市场化能力,再好 ...

  10. iOS 单元测试之常用框架 OCMock 详解

    一.单元测试 1.1 单元测试的必要性 测试驱动开发并不是一个很新鲜的概念了.在日常开发中,很多时候需要测试,但是这种输出是必须在点击一系列按钮之后才能在屏幕上显示出来的东西.测试的时候,往往是用模拟 ...