---------------------- android培训、java培训、期待与您交流! ----------------------
IO流输入与输出:
按流向分为:输入流、输出流
按操作数据分为:字节流、字符流
字节流的抽象基类:
InputStream、OutputStream、BufferedInputStream、BufferedOutputStream
——FileInputStream
字符流的抽象基类:
Reader、 Writer、BufferedReader、BufferedWriter
——FileReader
打印流:
字节打印流:printStream
构造函数可接收的参数类型:
file对象、字符串路径String、字节输出流OutputStream
字符打印流:printWriter
构造函数可接收的参数类型:
File对象、字符串路径String、
字节输出流OutputStream、字符输出流Writer
序列流:SequenceInputStream
对已有文件进行续写:
FileWriter fw=new FileWriter("test.txt",true);传递一个true参数,代表不覆盖已有的文件内容,将它加到已有文件的末尾。
字符流的缓冲区:
对应类:BufferedWriter、BufferedReader 需结合流才能使用。
它的出现是为了提高流的操作效率,所以在创建缓冲区前必须要先有流对象。
只要用到缓冲区就要记得刷新。bufferWriter.flush();
该缓冲区提供了一个跨平台的换行方法bufferWriter.newLine();
该缓冲区提供了一个读取一行的方法bufferReader.readLine();
装饰设计模式:
当想要对已有的对象进行功能增强时,可以定义类,将已在对象传入,基于原来的功能,提供增强功能。则自定义的类就称为装饰类。
装饰类通常会通过构造方法接收被装饰类的对象,并基于被装饰的对象的功能提供更强的功能。
Person 类,
SuperPerson 类中写:
private Person p;
SuperPerson(Person p){this.p=p;}
MyReader专门用于读取数据的类。
——MyTextReader
——MyBufferReader(MyReader r){}
——MyMediaReader
——MyBufferReader(MyReader r){}
——MyDataReader
——MyBufferReader(MyReader r){}
——MyBufferReader
——MyBufferReader(MyReader r){}
Class MyBufferReader extends MyReader{
private MyReader r;
MyBufferReader(MyReader r){}
}
装饰模式比继承灵活,降低了类与类之间的关系,装饰类和被装饰类都所属于一个体系。
流操作的基本规律:
1、明确源和目的
源:输入流——InputStream、Reader
目的:输出流——OutputStream、Writer
2、操作的数据是否是纯文本
是:字符流
不是:字节流
转换流是字符和字节之间的桥梁,涉及到字符编码转换时需用到,InputStreamReader
File:
1、创建:
Boolean createNewFile():在指定位置创建文件,如果文件已存在则不创建,返回false.
Boolean mkdir();创建文件夹
Boolean mkdirs();创建多级目录的文件夹
2、删除:boolean delete();删除失败返回false;
Void deleteOnExit();在程序退出时删除指定文件
3、判断:canExecute()测试文件是否可执行
在判断文件对象是否是文件或是目录时必须要先判断该文件对象封装的内容是否存在,通过exists判断
isFile();是否是文件
isDirectory();是否是目录
isHidden();是否是隐藏文件
4、获取信息:
getName();getpath();getParent();getAbsolutePath();
getCanonicalPath();获得规范路径
lastMotified();最后修改的时间
递归:
递归应注意的条件:
1、限定条件
2、要注意递归的次数,避免内存溢出
---------------------- android培训、java培训、期待与您交流! ----------------------
分享到:
相关推荐
5. **IO/NIO/BIO**:输入输出流的使用,非阻塞I/O模型(NIO)和新特性(AIO),以及在网络通信中的应用。 6. **反射**:理解类、接口、构造器、方法的反射操作,以及动态代理的应用。 7. **设计模式**:常见的设计...
### 黑马程序员入学Java精华总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是指通过编写计算机能够理解的指令来解决问题或完成特定任务的过程。这些指令通常被组织成算法,并使用某种编程语言实现。...
本资料包“Java-IO流高级-例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar”提供了一个深入学习Java IO流的全面资源,包含实例题目、源代码以及PPT教学材料,适合对Java IO有进阶需求的开发者。 1. **Java ...
在Java中,`java.io`包提供了许多类用于文件操作,如File类用于表示文件和目录,BufferedReader和PrintWriter用于文本输入输出。 最后,学员可能会接触到Java集合框架,这是Java库中用于存储和操作对象的工具。集合...
7. **IO流**:教授输入输出流的使用,包括文件读写、对象序列化和反序列化等。 8. **集合框架**:介绍ArrayList、LinkedList、HashSet、HashMap等容器的使用,以及泛型的概念。 9. **多线程**:讲解如何创建和管理...
黑马程序员_毕向东_Java基础视频教程第18天-09-IO流(文件的续写)
"IO-黑马程序员Java学习笔记"这个压缩包包含了关于Java IO的详细教程,可以帮助我们深入理解这个关键领域。下面将根据提供的文件名来解析可能包含的知识点。 1. **IO.md**: 这个文件很可能是Markdown格式的学习...
- 键盘输入通常有三种方式:命令行参数`String[] args`、`BufferedReader`通过IO流读取、`Scanner`类从`System.in`获取输入。`Scanner`的使用步骤包括导入包,创建对象,然后调用相应方法接收数据。 5. **switch...
8. **文件与IO流**:虽然未明确指出,但文件操作和IO流通常是Java基础课程的一部分。学员可能会学习如何读写文件,使用不同的输入/输出流进行数据传输。 9. **集合框架**:Java集合框架包括List、Set、Queue等接口...
《黑马程序员毕向东Java基础课堂完整版文档》是一份全面且深入的Java学习资源,由知名教育机构黑马程序员的讲师毕向东倾力打造。这份资料涵盖了从Java编程基础到高级特性的全过程,旨在帮助初学者系统地掌握Java编程...
Java的IO流库允许程序员进行输入输出操作,包括读写文件。源码中可能会有对文件的创建、读取、写入、复制等操作的示例,这对于处理数据和持久化存储至关重要。 五、集合框架 Java集合框架是一组接口和类,提供了...
14. **输入/输出流**:Java的IO流系统用于处理数据的输入和输出,包括文件操作、网络通信等。 15. **多线程**:Java内置对多线程的支持,通过Thread类或Runnable接口实现并发执行,提高程序性能。 16. **反射机制*...
在这个“黑马程序员_毕向东_Java基础视频教程第18天-12-IO流(文本文件读取练习)”中,毕向东老师将深入讲解如何使用Java IO流来读取文本文件。Java IO流提供了多种类和方法,使得开发者可以灵活高效地处理输入和输出...
Java的IO流系统支持数据的输入和输出,包括字符流和字节流,以及缓冲区、转换流和对象序列化等。 16. **多线程**: Java内置了对多线程的支持,通过Thread类或实现Runnable接口可以创建并管理多个执行线程。 17....
IO(Input/Output)指输入输出操作,`java.io.File`类用于处理文件和目录的操作。 ##### 2、递归(Recursion) 递归是一种自我调用的方法,适用于解决分治问题。 ##### 3、文件过滤器java.io.FilenameFilter `...
【标题】"01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip" 提供的是一门由黑马程序员机构推出的Java基础强化课程,由讲师张孝祥主讲,旨在深入讲解Java编程的基础知识并进行能力提升。 【描述】中提到...
本教程《黑马程序员_毕向东_Java基础视频教程第18天-13-IO流(拷贝文本文件)》专注于讲解如何利用IO流来实现文本文件的复制操作。这个过程涉及到了对文件读取、数据缓冲以及写入等基础知识,对于初学者来说是理解和...
总结,Java IO流是Java编程中的基石,掌握了流的操作,意味着你能够有效地处理程序的数据输入输出,无论是本地文件、网络通信还是内存数据交换。通过学习提供的资源,包括例题、源码和PPT,你可以全面掌握Java IO流...
《黑马程序员面试宝典(java)2018版》是一本专门为Java开发者准备的面试指南,涵盖了大量在面试过程中可能遇到的问题和知识点。这本宝典由黑马程序员机构精心编纂,汇集了近万名学员的实际面试经验,为求职者提供了...
9. **IO流**:了解输入/输出流的概念,如何进行文件操作,以及标准输入输出的使用。 10. **集合框架**:熟悉ArrayList、LinkedList、HashSet和HashMap等常用集合类,以及它们在存储和操作数据方面的差异。 11. **...