java基础入门之IO流

目录
  • io学习框架:
  • 文件:
  • Io流的原理:
  • 节点流和处理流:
  • BufferWriter:
  • 处理字节的处理流:
  • 标准输入和输出:
  • 转换流:
  • 打印流:
  • Properties类:
  • 总结

io学习框架:

文件:

保存数据的地方。

1)常见文件对象的相关构造器和方法:

当进行File file = new File(filePath);只是在内存上有一个文件对象;

只有file.createNewFile();才会在磁盘创建文件

获取文件的相关信息:

utf8中,一个汉字是三个字节,所以当用字节流的read()方法一个字节一个字节的读取的时候,将会出现乱码的情况

2)目录的删除和增加:

a)用来删除文件或者文件夹

b)文件夹的创建:

Io流的原理:

流的分类:

字节流适用于声音等文件的传输,因为字节流是一个字节一个字节的读取,可以保证无损;

字符流虽然读取的效率高些,但更适用于文本的读取;

注意:inpuStream,OutputStream,Reader,Writer全是抽象类,创建对象时候要实现他们的子类即可。

1)InputSream输入流:

字节输入流:文件–》程序

a)fileInputStream.read()一个一个字节读取

(注意:输出的时候不能像如图框选的那样输出,因为read()读取的是下一个字符了)

b)改进,使用fileInputStream.read(buffer)

2)OutputStream

注意:如果使用OutputStream写入数据时候,文件不存在将自动进行文件的创建;

以下是写入数据的几种方式,

当使用红框的语句的时候,写入数据会追加在文件中;

否则,将覆盖文件的内容

完成文件的拷贝:(需要输入流和输出流的综合应用)

3)FileReader:

1)FileReader的使用:

4) FileWriter:

使用filewriter后,必须关闭(close)或者刷新(flush),否则写入不到指定文件

a)FileWriter的使用:

使用filewriter后,必须关闭(close)或者刷新(flush),否则写入不到指定文件

close()相当于flush()+关闭

节点流和处理流:

1)节点流:直接读取数据源的流

2)处理流:对节点流进行包装

例如BufferReader:

readLine()是按行读取:

当返回null时候,表示文件读取完毕;

关闭流的时候,这里只需要关闭BufferReader,因为底层会自动去关闭节点流;

BufferWriter:

注意:如果需要追加在文件的话,是在节点流进行设置;

newLine()插入一个换行符

两者的区别与联系:

BufferReader和BufferWriter实现文件拷贝:

注意:BufferReader和BufferWriter是安装字符操作;

不要操作二进制文件(声音,视频,doc,pdf,等等),可能会造成文件损坏

处理字节的处理流:

BufferedOutputStream和BufferedInputStream实现拷贝图片:

当然,除此之外,BufferedOutputStream和BufferedInputStream也可以实现文本的拷贝;

对象处理流:专门处理对象的流,专门把对象保存到文件中,并且能够从文件中恢复;

序列化:就是保存数据的时候,保存数据的值和数据类型;

标记接口:没有任何方法

1)ObjectInputStream:(也是包装流)

示例:

2)ObjectOutputStream:

示例:

序列化之后,保存的文件格式,不是纯文本,而是按照他的格式来存储

当反序列化的时候需要用到getName();toString()等方法的时候,序列化也要一并把这些方法存储进行;

对象流注意事项:

标准输入和输出:

标准输入,从键盘是获取:Scanner scanner = new Sanner(System.in);

转换流:

InputStreamReader:字节流转化(包装)为字符流;

1)**OutputStreamReader:**字节流转化(包装)为字符流;

打印流:

(只有输出流,没有输入流)

PrintStream和PrintWriter(可以把信息打印到文件里面)

1)PrintStream

2)PrintWriter

PrintWriter可以传入一个输出流,这里System.out是标准输出

Properties类:

1)传统的处理方法(使用处理流加载配置文件),不方便:

2)Properties方式:

总结

这篇文章就到这里了,希望大家能够喜欢,也希望大家能够多多关注我们其他文章!

(0)

相关推荐

  • Java集合和IO流实现水果摊项目

    前言 前一段时间利用Java基础知识集合和IO流做了个简单的小项目-水果摊,感觉不过瘾,最近又想着用GUI和Mysql数据库重做一下,名为另一个水果摊,下面就来分享一下代码吧 一.包和表截图 二.源代码 1.JDBC连接Mysql数据 管理员界面:增删查改 package com.vector.service; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; imp

  • Java IO流学习总结之文件传输基础

    一.Java IO流总览 二.File类 2.1 常用API package pkg1; import java.io.File; import java.io.IOException; /** * @author Administrator * @date 2021/4/2 */ public class FileDemo { public static void main(String[] args) { // 了解构造函数,可查看API File file = new File("d:\\

  • Java IO流之节点流与字符流的相关知识总结

    一.File file是文件和目录路径名的抽象表示 1.1 File的用法 用法: File file = new File("路径名"); //如 File file = new File("L:\\FileTestDemo\\AAA\\aaa.txt"); 注意:在windows中,路径名不能使用单个的\,单个的\为转义字符,可以使用\\,//或/ 1.2 File的常用方法 1.boolean createNewFile() 当且仅当具有此名称的文件尚不存在时

  • Java字节流和字符流及IO流的总结

    从接收输入值说起 在日常的开发应用中,有时候需要直接接收外部设备如键盘等的输入值,而对于这种数据的接收方式,我们一般有三种方法:字节流读取,字符流读取,Scanner 工具类读取. 字节流读取 直接看一个例子: public class Demo01SystemIn { public static void main(String[] args) throws IOException { int a = System.in.read(); System.out.println(a); char

  • Java-IO流实验

    目录 前言 一.资源管理器 [1]. 题目 [2]. 实例 [3]. 代码 二.文件复制与剪切 [1]. 题目 [2]. 复制 [3]. 剪切 [4]. 代码 三.文件数据读写 [1]. 题目 [2]. 实例 [3]. 代码 总结 前言 项目结构如下,在使用代码的时候注意修改成你自己的包名和类名 一.资源管理器 [1]. 题目 设计一个用于显示指定目录下所有文件与文件夹的资源管理器类,要求包括: 从命令行输入一个路径,如果不是目录,则输出提示信息 如果是目录且存在,则显示该目录下,所有的文件与文

  • java基础入门之IO流

    目录 io学习框架: 文件: Io流的原理: 节点流和处理流: BufferWriter: 处理字节的处理流: 标准输入和输出: 转换流: 打印流: Properties类: 总结 io学习框架: 文件: 保存数据的地方. 1)常见文件对象的相关构造器和方法: 当进行File file = new File(filePath);只是在内存上有一个文件对象: 只有file.createNewFile();才会在磁盘创建文件 获取文件的相关信息: utf8中,一个汉字是三个字节,所以当用字节流的re

  • Java基础入门总结之序列化和反序列化

    目录 基本概念 序列化 反序列化 序列化和反序列化总结 自定义序列化策略 Externalizable transient 静态变量 序列化ID 破坏单例 总结 基本概念 Java中创建对象时,一旦程序终止,创建的对象可能就不存在.要想使得对象能够在程序不运行的状态下依然能够保存对象的信息,这时就需要用到序列化机制 序列化机制: 一个对象可以被表示为一个字节序列,包括: 对象的数据 对象的类型信息 存储在对象中的数据类型 将可序列化对象写入文件后,可以从文件中读取出来,根据对象的各种信息在内存中

  • java 基础知识之IO总结

    java  基础知识之IO总结     我计划在接下来的几篇文章中快速回顾一下Java,主要是一些基础的JDK相关的内容. 工作后,使用的技术随着项目的变化而变化,时而C#,时而Java,当然还有其他一些零碎的技术.总体而言,C#的使用时间要更长一些,其次是Java.我本身对语言没有什么倾向性,能干活的语言,就是好语言.而且从面向对象的角度来看,我觉得C#和Java对我来说,没什么区别. 这篇文章主要回顾Java中和I/O操作相关的内容,I/O也是编程语言的一个基础特性,Java中的I/O分为两

  • Java文件操作之IO流 File类的使用详解

    File类概述 File类能新建.删除.重命名文件和目录,但不能访问文件内容本身,如果需要访问文件内容本身,则需要使用后续的输入/输出流. 要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录. File对象可以作为参数传递给流的构造器. 常用构造器 ①public File(String pathname) 以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果是相对路径,则默认相

  • Java基础入门 Swing中间容器的使用

    目录 Java基础入门 Swing中间容器 下面举例说明一下JScrollPane的方法 Java Swing顶层容器类 Swing拥有三个常用的顶层容器类 Java基础入门 Swing中间容器 在Swing中不仅有JFrame.JDialog这样的顶级窗口,还拥有一些中间容器,这些容器不能单独存在,必须依存在顶级窗口中.最常见的是JPanel.JScrollPane. JPanel:JPanel和AWT中的Panel组件使用方法基本一致,他是一个无边框不能被放大.移动.关闭的面板,它的默认布局

  • Java利用Socket和IO流实现文件的上传与下载

    目录 背景概述 核心技术 Config Client Server UploadRunnableImpl DownloadRunnableImpl 背景概述 本文利用Socket编程和IO流技术实现文件的上传与下载. 核心技术 1.TCP 2.Socket 3.FileInputStream与FileOutputStream 4.DataInputStream与DataOutputStream 5.多线程 Config package com.io14; /** * 本文作者:谷哥的小弟 * 博

  • Java新手学习之IO流的简单使用

    目录 前言 IO流 1.基本概念 2.IO流分类 3.File 3.1File基本概念 3.2创建文本 3.3创建目录 3.4判断.读取和删除 4.字节流 4.1字节流的抽象基类 4.2字节流写数据 4.3字节流读数据 5.字符流 5.1由来 5.2字符流写数据 5.3字符流读数据 6.IO流小结 7.特殊操作流 7.1标准输入输出流 7.2字节打印流 7.3对象序列化流和对象反序列化流 7.4Properties集合 8.总结 前言 在我们平时使用图形化界面的时候,会发现来建立一个文件夹或者一

  • java  基础知识之IO总结

    java  基础知识之IO总结     我计划在接下来的几篇文章中快速回顾一下Java,主要是一些基础的JDK相关的内容. 工作后,使用的技术随着项目的变化而变化,时而C#,时而Java,当然还有其他一些零碎的技术.总体而言,C#的使用时间要更长一些,其次是Java.我本身对语言没有什么倾向性,能干活的语言,就是好语言.而且从面向对象的角度来看,我觉得C#和Java对我来说,没什么区别. 这篇文章主要回顾Java中和I/O操作相关的内容,I/O也是编程语言的一个基础特性,Java中的I/O分为两

  • Java超详细梳理IO流的使用方法上

    目录 Java语言的输入输出类库 1.流的概念 2.流的分类 3.流的作用 4.输入输出流类库 使用InputStream和OutputStream流类 1.基本输入输出流 1.InpitStream流类 2.OutputStream流类 2.输入输出流的应用 2.1文件输入输出流 2.2顺序输入流 2.3管道输入输出流 2.4过滤输入输出流 2.5标准输入输出 你要学会: 流的概念 处理字节流的类 处理字符流的类 Java标准输入输出 文件管理类 Java语言的输入输出类库 1.流的概念 流是

  • Java基础知识之CharArrayWriter流的使用

    目录 Java CharArrayWriter流 一.CharArrayWriter流定义 二.CharArrayWriter流构造函数 三.CharArrayWriter流实例域 四.CharArrayWriter流方法 四.CharArrayWriter流的作用 Java基础之什么是CharArrayWriter 下面的例子阐述了CharArrayWriter Java CharArrayWriter流 一.CharArrayWriter流定义 API说明:该类实现了一个可用作字符输出流的字

随机推荐