一、流的分类
1、按功能分
读取流:InputStream Reader
写出流:OutPutStream Writer
2、按流的类型分类
字节流:InputStream OutputStream
字符流:Reader Writer
二、流功能分析
读取流是从输入设备或数据对象中读取数据到程序,用程序进行处理读入的数据,写出流是把程序处理的数据输出到
输出设备上比如硬盘和控制台。
字节流读取和写入的数据单位是字节,可以读取和写入任何类型的数据。字符流读取跟写入的数据单位是字符,只能
读取和
写入文本类型的数据。当需要读取或写入文本型的数据时要用字符流,因为它会比字节流读写字符更方便和高效,相反当数
据不是文本型时只能用字节流来读取跟写入。
三、流中读写方法的示例。(当用到IO流时就有可能出现IO异常,所以需要处理可能的异常)
字节流:
FileOutputStream fos = new FileOutputStream("D://xxx.xxx");
fos.write("dsfdsf".getBytes());//写入字节数组
fos.close(); //用完后需要关闭流,释放资源。字节流不需要Flush
FileInputStream fis = new FileInputStream("D://xxx.xxx");
fis.read(); //读取一个字节
fis.close();
字符流:
FileWriter fw = new FileWriter("D:\\xxx.txt");
fw.write("sdfsdfsdf");//可以直接写入字符串
fw.flush(); //写完后需要Flush,才能真正写道输出设备
fw.close(); //close()时也会Flush。
FileReader fr = new FileReader("D:\\xxx.txt");
fr.read(char[] ch);//可以读取一个字符数组的内容
fr.close();
四、转换流
当需要流之间的转换时会用到转换流。
1、把字节读取流转换成字符读取流
InputStreamReader isr = new InputStreamReader(new FileInputStream("xxx.xxx"));
2、把字符输出流转化成字节输出流
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("xx.xxx"));
五、缓冲流
需要提高流的读写效率时会用到缓冲流
1、字节缓冲流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("xx"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("xx"));
2、字符缓冲流
BufferedReader br = new BufferedReader(new FileReader("xx.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("xx.txt"));
缓冲流对读写功能进行了增强,而且使用缓冲技术提高了读写效率,所以当需要提高程序的读写效率时要使用缓冲流。
六、File类的使用
1、创建
boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。
和输出流不一样,输出流对象已建立创建文件。而且文件已经存在,会覆盖。
boolean mkdir()创建文件夹
boolean mkdirs() 创建多级文件夹
2、删除。
boolean delete();删除失败时返回false。如果文件正在被使用,则删除不了返回false。
void deleteOnExit();在程序退出时删除指定文件。
3、判断
boolean exists();文件是否存在。
isFile():是不是文件
isDirectory();是不是文件夹
isHidden();是不是隐藏文件
isAbsolute();是不是绝对路径
4、获取信息
getName();文件名
getPath();文件路径
getParent();上一层路径
getAbsolutePath();绝对路径
相关推荐
通过以上知识点,我们可以更好地理解和运用Java的IO流系统,实现各种复杂的输入输出操作。对于初学者而言,理解这些基本概念并熟练掌握其使用方法是至关重要的。在实际编程中,根据需求选择合适的流类型和组合,可以...
Java知识点总结大全(五) -- io流,关注后面会分享面向对象,io,集合,多线程,网络,sql的总结
通过上述知识点,可以看出文档详细地总结了Java基础中IO流的概念、分类以及使用方法,并通过实际的代码示例加深理解。这些知识对于Java初学者来说是非常重要的,它们不仅涉及到文件的基本操作,还包括了对IO流深入的...
Java IO流的学习主要涉及到以下几个方面的知识点: 1. Java中流的概念及其重要性:流是数据传输的一种抽象概念,在Java中通过流可以实现数据的序列化和反序列化,即以一种连续的字节流的形式进行数据的读写操作。流...
### Java IO流基础知识点 #### 一、IO流概述 - **定义**:在Java中,IO流(Input/Output Streams)是用来处理输入输出的基本工具。流是一种有序的数据集合,通常涉及从源到目的地的数据传输过程。源可以是文件、...
Java图书管理系统(IO流版)知识点总结 本文总结了Java图书管理系统(IO流版)的主要知识点,涵盖了Java基础语法、流程控制、面向对象思想、封装、继承、多态、接口、异常、集合、IO流等多方面的知识。 一、Java...
Java的IO(输入输出)流是Java编程语言中用于处理数据传输的基础知识。Java IO流分为两大类:字节流和字符流。字节流主要用于处理二进制数据,而字符流用于处理字符数据。在这份《Java之IO流学习总结》文档中,我们...
以下是对这些知识点的详细说明: 一、Java概述: Java是由Sun Microsystems开发的一种跨平台的编程语言,它具有“一次编写,到处运行”的特性,通过Java虚拟机(JVM)实现平台无关性。Java有丰富的类库支持,适用于...
Java IO完全总结的知识点: 一、历史背景: 1. IO系统设计的困难性:对于编程语言设计人员来说,设计一个功能完善的输入输出系统是非常有挑战性的。需要考虑各种不同的因素,如文件、控制台、网络、内存等的读取方式...
### Java IO流知识点详解 #### 一、Java IO流概述 在Java中,输入/输出(Input/Output,简称IO)操作是程序与外部设备进行数据交换的重要方式。Java提供了强大的IO流处理类库,主要位于`java.io`包中。这些类库...
Java语言程序设计(一)七八九十章知识点总结 第七章:输入和输出流 一、数据流的基本概念 * 在 Java 中,把不同类型的输入、输出源抽象为流,其中输入或输出的数据成为数据流,用统一的接口表示。 * 数据流是...
Java知识点总结2019,其中包括了基础、面向对象、api部分、集合类、多线程、GUI、Jdbc、网络编程、io流。
“java知识点汇总” 和【描述】:“内容较杂,有java初中高级知识点,也有Java web架构及原理”来看,涉及的内容包括了Java的序列化与反序列化、IO流的基础知识、多态的概念、泛型的应用、反射机制,以及Java EE中的...
下面我们将深入探讨这个过程中的关键知识点。 1. **Java IO流**: Java的IO流库提供了处理输入和输出的强大功能。文件流(FileInputStream和FileOutputStream)用于与本地文件系统交互,而字节流(如InputStream和...
这份"java知识点总结思维导图(xmind)"是为帮助学习者系统性地理解和掌握Java核心技术而精心整理的资料。思维导图作为一种有效的学习工具,能够帮助我们更好地组织和记忆信息,提高学习效率。 首先,让我们从基础...
Java基础知识点总结,适应于面试。知识点包括Java基础,什么是面对对象、IO流、反射、线程、数据库、工厂模式、SSH框架的区别和联系、一些常见的面试经典问题
《JAVA核心知识点总结》 Java作为一款广泛应用的编程语言,其核心知识点对于开发者来说至关重要。本资料旨在为准备面试或者系统学习Java的人员提供一个全面的复习框架。以下是对其中部分关键知识点的详细阐述: **...
### JAVA IO流学习知识点 #### 一、Java IO流概念及背景 - **引入原因**:在Java中,为了能够方便地与外部设备(如硬盘、网络等)进行数据交互,设计了一套标准的输入输出处理机制,即IO流。这使得程序能够更加...
10. **总结(10_总结.avi)**:最后的视频是对整个IO系列的回顾,总结关键知识点,帮助巩固学习成果。 通过这个教程,开发者不仅可以理解Java IO的基本概念,还能学习到如何在实际项目中高效地使用IO流进行数据交换...