黑马程序员___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培训、期待与您交流! ----------------------
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培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员---Java基础---异常、File类和递归
- 黑马程序员——高新技术---Java基础-IO流_File类,递归思想
- 黑马程序员————java基础--------IO输入输出之异常、File类和递归
- 黑马程序员--java基础:File类和文件字节IO流
- 黑马程序员——java基础---递归
- 黑马程序员——Java基础---递归
- 黑马程序员——JAVA基础---线程之间的通信实现交替输出打印
- 黑马程序员_Java基础[16]_多态2
- 黑马程序员_学习笔记第19天——File类、递归、Properties、打印流
- 黑马程序员——JAVA基础---打印流对象
- Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流) (黑马程序员)
- 黑马程序员—16—java基础:有关map结合的学习笔记和心得体会
- 黑马程序员_Java(异常类,file类,递归,字节流)
- 黑马程序员--java基础9--File类
- 黑马程序员--java基础--File类、Properties类、打印流、序列流
- 黑马程序员_java编程基础第2天9-16
- 黑马程序员--Java基础--16交通灯
- 黑马程序员-16-java基础-面向对象(2)-封装与单例程序设计思想
- 黑马程序员——java基础——递归
- 【黑马程序员】Java基础09:File类和递归