黑马程序员——JAVA IO输入输出(三)
2014-03-22 16:48
239 查看
-------
android培训、java培训、期待与您交流! ----------
File类
用来将文件或者文件夹封装成对象,方便对文件与文件夹进行操作。同时File对象可以作为参数传递给流的构造函数。
File类常见方法:
1,创建。
boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,输出流对象一建立创建文件。而且文件已经存在,会覆盖。boolean mkdir():创建文件夹。boolean mkdirs():创建多级文件夹。
2,删除。
boolean delete():删除失败返回false。如果文件正在被使用,则删除不了返回falsel。void deleteOnExit();在程序退出时删除指定文件。
3,判断。
boolean exists() :文件是否存在。
isFile():判别文件的类型。
isDirectory();检查对象是否是文件夹返回值是boolean类型如果是则返回true否则返回false调用方法:对像.isDirectory() 无需指定参数,记住在判断文件对象是否是文件或者目的时,必须要先判断该文件对象封装的内容是否存在。 通过exists判断。
isHidden();测试此抽象路径名指定的文件是否是一个隐藏文件。
isAbsolute();判断此路径是否为绝对的。
4,获取信息。
getName():返回由此抽象路径名表示的文件或目录的名称。
getPath():将此抽象路径名转换为一个路径名字符串。
getParent():返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回
getAbsolutePath() :返回此抽象路径名的绝对路径名形式。
long lastModified() :返回此抽象路径名表示的文件最后一次被修改的时间。
long length() :返回由此抽象路径名表示的文件的长度。
注意:调用list方法的file对象必须是封装了一个目录。该目录还必须存在。
函数自身调用自身的表现形式,或者编程手法,称为递归。递归要注意:1,限定条件。2,要注意递归的次数。尽量避免内存溢出。
打印流
该流提供了打印方法,可以将各种数据类型的数据都原样打印。同时提供了两种方法,字节打印流和字符打印流
字节打印流:PrintStream
构造函数可以接收的参数类型:1,file对象。File。2,字符串路径。String。3,字节输出流。OutputStream
字符打印流:PrintWriter
构造函数可以接收的参数类型:1,file对象。File。2,字符串路径。String。3,字节输出流。OutputStream。4,字符输出流,Writer。
序列流:SequencelnputStream——可以对于多个流进行合并。
打印流和序列流的操作对象是ObjectlnputStream与ObjectOutputStream,被操作的对象需要实现Serializable(标记接口)
管道流:PipedInputStream和PipedOutputStream,输入输出可以直接进行连接,通过结合线程使用。
IO包中的其他类
操作基本数据类型:DataInputStream与DataOutputStream。操作字节数组:ByteArrayInputStream与ByteArrayOutputStream。操作字符数组:CharArrayReader与CharArrayWrite。操作字符串:StringReader与StringWriter。
操作字节数组的流对象
ByteArrayInputStream :在构造的时候,需要接收数据源,。而且数据源是一个字节数组。
ByteArrayOutputStream: 在构造的时候,不用定义数据目的,因为该对象中已经内部封装了可变长度的字节数组。这就是数据目的地。
因为这两个流对象都操作的数组,并没有使用系统资源,所以,不用进行close关闭
在流操作规律讲解时:
源设备:键盘 System.in,硬盘 FileStream,内存 ArrayStream。
目的设备:控制台 System.out,硬盘FileStream,内存 ArrayStream。
RandomAccessFile
该类不是算是IO体系中子类,而是直接继承自Object。但是它是IO包中成员,因为它具备读和写功能。内部封装了一个数组,而且通过指针对数组的元素进行操作。可以通过getFilePointer获取指针位置,同时可以通过seek改变指针的位置。
其实完成读写的原理就是内部封装了字节输入流和输出流。通过构造函数可以看出,该类只能操作文件。而且操作文件还有模式:只读r,,读写rw等。如果模式为只读 r。不会创建文件。会去读取一个已存在文件,如果该文件不存在,则会出现异常。如果模式rw。操作的文件不存在,会自动创建。如果存则不会覆盖。
Properties
Properties是hashtable的子类。也就是说它具备map集合的特点。而且它里面存储的键值对都是字符串。是集合中和IO技术相结合的集合容器。该对象的特点:可以用于键值对形式的配置文件。那么在加载数据时,需要数据有固定格式:键=值。
如何将流中的数据存储到集合中。想要将info.txt中键值数据存到集合中进行操作。步骤如下:
1,用一个流和info.txt文件关联。2,读取一行数据,将该行数据用"="进行切割。3,等号左边作为键,右边作为值。存入到Properties集合中即可。
-------
android培训、java培训、期待与您交流! ----------
android培训、java培训、期待与您交流! ----------
File类
用来将文件或者文件夹封装成对象,方便对文件与文件夹进行操作。同时File对象可以作为参数传递给流的构造函数。
File类常见方法:
1,创建。
boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,输出流对象一建立创建文件。而且文件已经存在,会覆盖。boolean mkdir():创建文件夹。boolean mkdirs():创建多级文件夹。
2,删除。
boolean delete():删除失败返回false。如果文件正在被使用,则删除不了返回falsel。void deleteOnExit();在程序退出时删除指定文件。
3,判断。
boolean exists() :文件是否存在。
isFile():判别文件的类型。
isDirectory();检查对象是否是文件夹返回值是boolean类型如果是则返回true否则返回false调用方法:对像.isDirectory() 无需指定参数,记住在判断文件对象是否是文件或者目的时,必须要先判断该文件对象封装的内容是否存在。 通过exists判断。
isHidden();测试此抽象路径名指定的文件是否是一个隐藏文件。
isAbsolute();判断此路径是否为绝对的。
4,获取信息。
getName():返回由此抽象路径名表示的文件或目录的名称。
getPath():将此抽象路径名转换为一个路径名字符串。
getParent():返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回
null。
getAbsolutePath() :返回此抽象路径名的绝对路径名形式。
long lastModified() :返回此抽象路径名表示的文件最后一次被修改的时间。
long length() :返回由此抽象路径名表示的文件的长度。
注意:调用list方法的file对象必须是封装了一个目录。该目录还必须存在。
函数自身调用自身的表现形式,或者编程手法,称为递归。递归要注意:1,限定条件。2,要注意递归的次数。尽量避免内存溢出。
打印流
该流提供了打印方法,可以将各种数据类型的数据都原样打印。同时提供了两种方法,字节打印流和字符打印流
字节打印流:PrintStream
构造函数可以接收的参数类型:1,file对象。File。2,字符串路径。String。3,字节输出流。OutputStream
字符打印流:PrintWriter
构造函数可以接收的参数类型:1,file对象。File。2,字符串路径。String。3,字节输出流。OutputStream。4,字符输出流,Writer。
序列流:SequencelnputStream——可以对于多个流进行合并。
打印流和序列流的操作对象是ObjectlnputStream与ObjectOutputStream,被操作的对象需要实现Serializable(标记接口)
管道流:PipedInputStream和PipedOutputStream,输入输出可以直接进行连接,通过结合线程使用。
IO包中的其他类
操作基本数据类型:DataInputStream与DataOutputStream。操作字节数组:ByteArrayInputStream与ByteArrayOutputStream。操作字符数组:CharArrayReader与CharArrayWrite。操作字符串:StringReader与StringWriter。
操作字节数组的流对象
ByteArrayInputStream :在构造的时候,需要接收数据源,。而且数据源是一个字节数组。
ByteArrayOutputStream: 在构造的时候,不用定义数据目的,因为该对象中已经内部封装了可变长度的字节数组。这就是数据目的地。
因为这两个流对象都操作的数组,并没有使用系统资源,所以,不用进行close关闭
在流操作规律讲解时:
源设备:键盘 System.in,硬盘 FileStream,内存 ArrayStream。
目的设备:控制台 System.out,硬盘FileStream,内存 ArrayStream。
RandomAccessFile
该类不是算是IO体系中子类,而是直接继承自Object。但是它是IO包中成员,因为它具备读和写功能。内部封装了一个数组,而且通过指针对数组的元素进行操作。可以通过getFilePointer获取指针位置,同时可以通过seek改变指针的位置。
其实完成读写的原理就是内部封装了字节输入流和输出流。通过构造函数可以看出,该类只能操作文件。而且操作文件还有模式:只读r,,读写rw等。如果模式为只读 r。不会创建文件。会去读取一个已存在文件,如果该文件不存在,则会出现异常。如果模式rw。操作的文件不存在,会自动创建。如果存则不会覆盖。
Properties
Properties是hashtable的子类。也就是说它具备map集合的特点。而且它里面存储的键值对都是字符串。是集合中和IO技术相结合的集合容器。该对象的特点:可以用于键值对形式的配置文件。那么在加载数据时,需要数据有固定格式:键=值。
如何将流中的数据存储到集合中。想要将info.txt中键值数据存到集合中进行操作。步骤如下:
1,用一个流和info.txt文件关联。2,读取一行数据,将该行数据用"="进行切割。3,等号左边作为键,右边作为值。存入到Properties集合中即可。
-------
android培训、java培训、期待与您交流! ----------
相关文章推荐
- 黑马程序员--Java之IO(输入输出)(下)04
- 黑马程序员——JAVA IO输入输出(二)
- 黑马程序员--Java之IO(输入输出)(上)03
- 黑马程序员----------java基础知识加强之IO输入输出
- 黑马程序员————java基础--------IO输入输出之异常、File类和递归
- 黑马程序员——JAVA IO输入输出(二)
- 黑马程序员学习笔记JAVA高级视频 IO输入输出字符流之Writer类
- 黑马程序员——13JavaIO输入输出1
- 黑马程序员————java基础---------IO输入输出之字节流
- 黑马程序员——JAVA IO输入输出(一)
- 黑马程序员_java_IO流_FileWriter_FileReader_BufferedWriter_BufferedReader_IO异常
- 黑马程序员----JAVA----IO小结(1)
- 黑马程序员——java之IO体系中File类、编码问题、对象序列化
- 奋斗黑马程序员----Java之IO简介
- 黑马程序员——Java IO—字节流—BufferedInputStream和BufferedOutputStream
- java从入门到精髓 - IO输入输出
- 黑马程序员-java IO笔记(1)
- 黑马程序员—Java基础—IO1
- 黑马程序员-JAVA高级视频_IO输入与输出-19天-11(写入转换流)
- 黑马程序员——Java基础——IO(三)