您的位置:首页 > 职场人生

黑马程序员___16java基础 File类 递归 打印流

2014-01-28 21:07 447 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

File类常见方法:

1创建:boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,输出流对象一建立就创建文件,而且文件已经存在的话,会覆盖。

boolean mkdir();创建文件夹

boolean mkdirs();创建多级文件夹

2删除。 boolean delete() ;删除生效返回false,如果文件正在被使用则删除不了,返回false.

void deleteOnExit:在程序退出时删除指定文件。

3判断:boolean exists():文件是否存在。

                           isFire();

                            isDirectory();

                            isHidden();

                             isAbolute();

备注:在判断文件对象是否是文件或者目的时,必须要判断该文件对象封装的内容是否存在,通过exists判断。

4获取信息:getName();

getparents:该方法返回的是绝对路径的父目录,如果获取的是相对路劲,则返回null。

如果相对路径中有上一层目录,那么该目录就是返回结果。

递归:函数自身调用自身,这种表现形式,或者编程手法,称为递归。

递归要注意:

1限定条件。

2要注意递归的次数。尽量避免内存溢出。

个人总结的递归方法:一个方法执行完后,才会执行下一步,而递归方法就是方法在重复执行,直到达到限定条件,然后有倒着执行下一步。

properties是hashtable的子类,也就是说它具有Map集合的特点。而且它里面存储的键值对都是字符串。是集合中和IO技术相结合的集合容器。该对象的特点,可以用于键值对形式的配置文件,那么在加载数据时,需要数据有固定格式:键=值。

打印流:该流提供了打印方法。可以将各种数据类型的数据都原样打印。

PrintStream:构造函数可以接收到的数据类型:

1file对象:file

2字符串路径:string

3字节输出流:outputstream,

printwrite:构造函数可以接受的数据类型,和printstream相同,且多一个字符输出流:writer。

RandomAccessFile: 该类不算是IO体系中的子类,而是直接继承自object.但它是IO包中的成员,因为它具备读和写功能。内部封装了一个数组,而且通过指针对元素进行操作,可以通过getFilePoint()获取指针位置,同时可以通过seek改变指针的位置。其实他完成续写的原理就是内部封装了字节输入流和输出流。通过构造函数可以看出,该类只能操作文件。而且操作文件还有个事,只读r,续写rw等,如果模式为只读r,不会创建文件,会先去读取一个已存在的文件,如果该文件不存在,则会出现异常。如果格式为rw,操作的文件不存在,会手动创建,如果存在则不会覆盖。

DataInputStream与DataOutputStream: 可以用于操作基本数据类型的流对象。

用于操作字节数组的流对象:

ByteArrayInputStream:在构造的时候,需要接受数据源,而且数据源是一个字符数组。

ByteArrayOutputStream: 在构造的时候,不用定义目的,因为该对象中已经内部封装了可变长度的字节数组,这就是数据目的地。

编码:字符串转变字节数组。

解码:字节数组转变字符串。

 String-------byte[],    str.getbytes(charsetName);

byte[]---------String,     new String (byte[],charserName)

----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: