黑马程序员_Java中IO流知识点及总结.
---------------------- android培训 、java培训 、期待与您交流! ----------------------
?
?
?
?
?
?
import java.io.FileWriter;
?
public class FileWriterDemo {
??? public static void main(String[] args){
?????? FileWriter fw=null;
?????? try {
?????????? fw = new FileWriter("demo.txt");
?????????? fw.write("nihaoma?");
??????????
?????? } catch (Exception e) {
?????????? e.printStackTrace();
?????? }finally{
?????????? try {
????????????? if(fw!=null)
????????????? fw.close();
?????????? } catch (Exception e) {
????????????? e.printStackTrace();
?????????? }
?????? }
??? }
}
mkdirs();创建多级文件夹.
isDirectory();isFile();通过这两方法可以判断封装完的对象是什么?
4.??????获取信息.getXXX();
?
列出目录下的所有内容,递归.
1.??????递归注意限定条件.
2.??????注意递归的次数,不要内存溢出.
?
Properties是hashtable的子类.也就是说它具备map集合的特点,而且它里边存储的键值都是字符串.是集合和IO技术相结合的集合容器.
该对象的特点:可以用于键值对形式的配置文件.
?
?
InputStreamReader 和OutputStreamWriter
明白这是什么转换流?按操作数据它们是什么流?
看JDK:InputStreamReader 是字节流通向字符流的桥梁;OutputStreamWriter 是字符流通向字节流的桥梁
明白这为什么是这样?明确接收什么流类型?为什么转成另一种流类型和转的过程?
我认为彻底明白了上面这些问题才算明白IO流的基础,才能知道什么流何时用合适.
自己刚学时也是一点不明白.到后面复习知识点时这在脑海中思路才清晰起来.
?
?
?
打印流PrintWriter与PrintStream?????? 可以直接操作输入流和文件.
该流提供了打印方法,可以将各种数据类型的数据都原样打印.
PrintStream构造函数可以接收的参数类型:
1.??????file对象.? File
2.??????字符串路径.??? String
3.??????字节输出流.??? OutputStream
字符打印流:PrintWriter构造函数可以接收的参数类型:
1.??????file对象.? File
2.??????字符串路径.??? String
3.??????字节输出流.??? OutputStream
4.??? 字符输出流??? Writer
?
序列流SequenceInputStream????? 对多个流进行合并.
表示其他输入流的逻辑串联.可以接收多个字节流对象,用enum形式来表示.
?
操作对象ObjectInputStream与ObjectOutputStream被操作的对象需要实现Serializable(标记接口).
?
管道流PipedInputStream和PipedOutputStream
对应的用connect相连接.
随机访问文件RandomAccessFile
该类直接继承自Object,不算是IO体系中子类,因为具备读写所以是IO包中成员.
内部封装了一个数组,而且通过指针对数组元素进行操作.可以通过getFilePointer获取指针位置,还可以通过seek改变指针位置.
其实能完成读写的原理就是内部封装了字节输入流和字节输出流,该类只能操作文件.而且操作文件还有模式.??? r? rw
该对象的构造函数要操作的文件不存在会自动创建,如果存在不会覆盖.
如果模式为r不会创建文件,只会读取,文件如果不存在会出异常.
如果模式为rw,文件不存在会创建,存 在不会覆盖.
?
操作基本数据类型的IO类
DateInputStream与DateOutputStream
操作字节数组
ByteArrayInputStream与ByteArrayOutputStream
这两个流对象都操作的数组,并没有使用系统资源,所以不用close关闭.
内存就是ArrayStream,用流的读写思想操作数组.
?
操作字符数组
CharArrayReader与CharArrayWriter
操作字符串
StringReader与StringWriter
?
字符编码:
编码:字符串变成字节数组? Stringàbyte[];???? str.getBytes();
解码:字节数组变成字符串.? byte[]àString:????? new String(byte[]);
服务器用的是ISO8859-1
<待续>
?
?
?
?
---------------------- android培训 、java培训 、期待与您交流! ----------------------