Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >-1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流

-1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流

作者头像
noteless
发布于 2018-09-11 03:11:43
发布于 2018-09-11 03:11:43
75000
代码可运行
举报
文章被收录于专栏:notelessnoteless
运行总次数:0
代码可运行

File类

•文件和目录路径名的抽象表示形式

构造方法

•public File(String pathname)

•public File(String parent,Stringchild)

•public File(File parent,Stringchild)

创建功能

•publicboolean createNewFile()

•publicboolean mkdir()

•publicboolean mkdirs()

删除功能

•publicbooleandelete()

重命名功能

•publicboolean renameTo(Filedest)

判断功能

•publicboolean isDirectory()

•publicboolean isFile()

•publicbooleanexists()

•publicboolean canRead()

•publicboolean canWrite()

•publicboolean isHidden()

基本获取功能

•public String getAbsolutePath()

•public String getPath()

•public String getName()

•public long length()

•public long lastModified()

高级获取功能

•public String[] list()

•public File[] listFiles()

IO流用来处理设备之间的数据传输

Java对数据的操作是通过流的方式

Java用于操作流的对象都在IO包中

按照数据流

•输入流  读入数据

•输出流  写出数据

按照数据类型

•字节流

•字符流

字节流的抽象基类:

•InputStream ,OutputStream。

字符流的抽象基类:

•Reader , Writer。

注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。

•如:InputStream的子类FileInputStream。

•如:Reader的子类FileReader。

OutputStream

•FileOutputStream

FileOutputStream的构造方法

FileOutputStream(File file)

FileOutputStream(String name)

写入数据

public void write(int b)

public void write(byte[] b)

public void write(byte[] b,int off,int len)

InputStream

•FileInputStream

            FileInputStream的构造方法

•FileInputStream(File file)

•FileInputStream(String name)

             FileInputStream的成员方法

•public int read()

•public int read(byte[] b)

字节缓冲输出流

•BufferedOutputStream

字节缓冲输入流

•BufferedInputStream

转换流

转换流的由来

•字符流与字节流之间的桥梁

•方便了字符流与字节流之间的操作

OutputStreamWriter 字符输出流

•public OutputStreamWriter(OutputStream out)

•public OutputStreamWriter(OutputStream out,String charsetName)

InputStreamReader 字符输入流

•public InputStreamReader(InputStream in)

•public InputStreamReader(InputStream in,String charsetName)

OutputStreamWriter写数据方法

•public void write(int c)

•public void write(char[] cbuf)

•public void write(char[] cbuf,int off,int len)

•public void write(String str)

•public void write(String str,int off,int len)

OutputStreamWriter读数据方法

•public int read()

•public int read(char[] cbuf)

字符流

FileWriter

FileReader

创建流对象,建立数据存放文件

•FileWriter fw = new FileWriter(“Test.txt”);

调用流对象的写入方法,将数据写入流

•fw.write(“text”);

关闭流资源,并将流中的数据清空到文件中。

•fw.close();

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
             FileWriter fw = null;
              try{
                  fw = new FileWriter("Test.txt");
                  fw.write("text");
              }
              catch (IOException e){
                  System.out.println(e.toString());
              }
              finally{
                  If(fw!=null)
                  try{
                      fw.close();
                  }
                  catch (IOException e){
                      System.out.println(e.toString());
                  } 
              }

建立一个流对象,将已存在的一个文件加载进流。

•FileReader fr = newFileReader(“Test.txt”);

创建一个临时存放数据的数组。

•char[] ch = new char[1024];

调用流对象的读取方法将流中的数据读入到数组中。

•fr.read(ch);

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      FileReader fr = null;
        try {
            fr = new FileReader("c:\\test.txt");
            char[] buf = new char[1024];
            int len = 0;
            while ((len = fr.read(buf)) != -1) {
                System.out.println(new String(buf, 0, len));
            }
        } catch (IOException e) {
            System.out.println("read-Exception :" + e.toString());
        } finally {
            if (fr != null) {
                try {
                    fr.close();
                } catch (IOException e) {
                    System.out.println("close-Exception :" + e.toString());
                }
            }
        }

字符流缓冲

BufferedWriter

BufferedReader

特殊功能

•BufferedWriter

•void newLine()

•BufferedReader

•String readLine()

操作基本数据类型

•DataInputStream

•DataOutputStream

内存操作流

操作字节数组

•ByteArrayInputStream

•ByteArrayOutputStream

操作字符数组

•CharArrayReader

•CharArrayWrite

操作字符串

•StringReader

•StringWriter

打印流

PrintWriter

PrintStream

标准输入输出流

System类中的字段:in,out。

它们各代表了系统标准的输入和输出设备。

默认输入设备是键盘,输出设备是显示器。

System.in的类型是InputStream.

System.out的类型是PrintStream是OutputStream的子类FilterOutputStream 的子类.

随机访问流

RandomAccessFile概述

•RandomAccessFile类不属于流,是Object类的子类。但它融合了InputStream和OutputStream的功能。支持对随机访问文件的读取和写入。

合并流

SequenceInputStream概述

•SequenceInputStream类可以将多个输入流串流在一起,合并为一个输入流,因此,该流也被称为合并流。

SequenceInputStream的构造方法

•SequenceInputStream(InputStream s1, InputStream s2) 

•SequenceInputStream(Enumeration<? extends InputStream> e)

可以用于多文件的合并

序列化

序列化流

•ObjectOutputStream

反序列化流

•ObjectInputStream

编码

字符流的出现为了方便操作字符。

更重要是的加入了编码转换。

通过子类转换流来完成。

•InputStreamReader

•OutputStreamWriter

在两个对象进行构造的时候可以加入字符集。

计算机只能识别二进制数据,早期由来是电信号。

为了方便应用计算机,让它可以识别各个国家的文字。

就将各个国家的文字用数字来表示,并一一对应,形成一张表。

这就是编码表。

编码:字符串->字节数组

解码:字节数组->字符串

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Java基础-3】吃透Java IO:字节流、字符流、缓冲流
IO流是Java中的一个重要构成部分,也是我们经常打交道的。这篇关于Java IO的博文干货满满,堪称全网前三(请轻喷!)
全栈程序员站长
2022/09/13
5860
14:IO之字符字节流
字节流: InputStream    OutputStream  字节流:  FileInputStream FileOutputStream BufferedInputStream BufferedOutputStream 字符流: Writer Reader FileReader FileWriter BufferedReader BufferedWriter 第一  IO流概述 一、概述: IO流是来处理设备间的数据传输 1、特点: 1)流操作按照数据可分为字节流(处理所有的数据)和字符流(处理文
六月的雨
2018/05/14
8720
java IO(File类、字节流与字符流、字节字符转换流)
在整个io包中,唯一表示与文件本身有关的类就是File类。使用File类可以进行创建或删除文件等常用操作,要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下
qubianzhong
2019/07/01
1.2K0
IO 流分类
File 类(磁盘操作)可以用于表示文件和目录的信息,但是它不表示文件的内容。递归地列出一个目录下所有文件:
Java架构师必看
2021/05/14
4150
IO 流分类
Java字节流和字符流详解
生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。 我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input 和输出output ,即流向内存是输入流,流出内存的输出流。 Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。
共饮一杯无
2022/11/28
1.4K0
Java字节流和字符流详解
字节流、字符流
字节输出流_OutputStream类&FileOutputStream类介绍
全栈程序员站长
2022/06/29
6370
字节流、字符流
【Java_19】字节流、字符流
一、IO 1. 分类 ① 按流向 输入流、输出流 ② 按类型 字节流、字符流 二、字节流 1. 一切皆为字节 * 一切数据在电脑中存储时都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。 * 字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。 2. OutputStream 抽象类 ① void close() 关闭此输出流并释放与此流相关联的任何系统资源。 ② void flush()
用户8250147
2021/02/04
5720
Java IO 的分类、使用场景、缓冲流、使用例子、文件拷贝
Java程序在执行的时候,是在内存进行的,外部的数据需要读写到内存才能处理;而在内存中的数据是随着程序结束就消失的,有时候我们也需要把数据输出到外部文件。
HaC
2021/02/04
1.7K0
Java IO 的分类、使用场景、缓冲流、使用例子、文件拷贝
java_字节流、字符流
java.io.OutputStream 抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地。它定义了字节输出流的基本共性功能方法。
咕咕星
2020/08/19
8440
Java基础-21(01)总结字符流,IO流编码问题,实用案例必做一遍
1:字符流(掌握) // 字节流读取中文可能出现的小问题(所以用字符流输入输出中文) package cn.itcast_01; import java.io.FileInputStream; import java.io.IOException; /* * 字节流读取中文可能出现的小问题: */ public class FileInputStreamDemo { public static void main(String[] args) throws IOException { // 创建字
Java帮帮
2018/03/16
1.2K0
第54节:Java当中的IO流(中)
如果目录里面有文件,或者还有目录,就无法删除,会显示为false的,那么就要从里头往外进行删除,可以进行递归的方法.
达达前端
2019/07/03
6420
第54节:Java当中的IO流(中)
Java基础知识回顾:字节流与字符流
File类虽然可以操作文件,但是不能操作文件内容,如果要进行文件内容的操作只有通过两种途径完成:字节流、字符流。
beifengtz
2019/06/03
5420
Java(2)-Java IO输入输出流
Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。
黄规速
2022/04/14
9180
Java(2)-Java IO输入输出流
14 Java IO流
创建一个 FileWriter 对象,该文件会在指定目录下创建. 如果同名则覆盖, 除非构造方法第二个参数append 为 true; 由此可得默认为false.
acc8226
2022/05/17
4720
14 Java IO流
新手小白学JAVA IO流 File 字节流 字符流
在学习IO流之前,我们首先需要学习的概念就是Stream流 为了方便理解,我们可以把数据的读写操作抽象成数据在”管道”中流动,但需注意: 1.流只能单方向流动 2.输入流用来读取 → in 3.输出流用来写出 → out 4.数据只能从头到尾顺序的读写一次 所以以程序的角度来思考,In/out 相对于程序而言的输入(读取)/输出(写出)的过程.
全栈程序员站长
2022/08/11
4200
新手小白学JAVA IO流 File 字节流 字符流
Java IO流笔记
处理流:不直接连接到数据源或目的地,而是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读x写功能。
乐心湖
2020/07/31
1K0
Java IO流笔记
Java基础(二十二):File类与IO流
java.io.Reader抽象类是表示用于读取字符流的所有类的父类,可以读取字符信息到内存中。它定义了字符输入流的基本共性功能方法
Java微观世界
2025/01/21
3150
Java基础(二十二):File类与IO流
Java 字节流 字符流 io流
流是一种抽象概念,他代表了数据的无结构化传递,按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列,从流中取得数据的操作称为提取操作,而从流中添加数据的操作称为插入操作,用来进行输入输出操作的流称为lo流,换句话说,io就是以流的方式经行输入输出
一只胡说八道的猴子
2020/09/27
9890
Java         字节流 字符流  io流
【IO】JavaIO流:字节流、字符流、缓冲流、转换流、序列化流等
当写出的文件存在时,一般情况会对内容进行覆盖,若想续写,需要在创建文件输出流对象时设置参数。
.29.
2023/10/25
3730
【IO】JavaIO流:字节流、字符流、缓冲流、转换流、序列化流等
Java进阶-IO(2)
话接上回,继续java IO部分的学习。上一次说完了字节流的读写数据,这次介绍一下字符流的读写数据。
reload
2024/03/03
2310
相关推荐
【Java基础-3】吃透Java IO:字节流、字符流、缓冲流
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档