------- android培训、java培训、期待与您交流! ----------
File 流操作的只有数据,数据最明显的体现形式就是文件,而文件又包括了很多的信息
File类用来将文件和文件夹封装成对象,方便对文件和文件夹的属性进行操作。
File类对象可以作为参数传递给流的构造函数,流只能操作数据。
步骤:
(1)、创建对象,将。txt封装成对象,可以将已有的和未出现的文件或者是文件夹都封装成
对象。File f = new File(*。txt);
File类常见方法:
1,创建。
boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。
和输出流不一样,输出流对象一建立创建文件。而且文件已经存
在,会覆盖。
boolean mkdir():创建文件夹。
boolean mkdirs():创建多级文件夹。
2,删除。
boolean delete():删除失败返回false。如果文件正在被使用,则删除不了返回falsel。
void deleteOnExit();在程序退出时删除指定文件。
3,判断。
boolean exists() :文件是否存在.
isFile():
isDirectory();判断是够是目录
isHidden();
isAbsolute();
4,获取信息。
getName():获取名字
getPath():获取路径
getParent():没有明确指定父路径返回的是null
getAbsolutePath() 无论封装的是相对路径还是绝对路径返回都是是绝对路径.
getAbsoluteFile()返回的是文件的封装对象.
getAbsoluteFile()和getAbsolutePath() 可以相互转换,从getAbsolutePath() new一个就成了getAbsoluteFile()
而getAbsoluteFile()toString一个就成了getAbsolutePath()
long lastModified() 最后的修改的目录
long length() 文件的大小
ListRoots()获取盘符
List用来答应指定目录下的文件和文件夹的名称.返回类型是toString()然后进行遍历.如果list的对象指向的
对象是一个文件的话它的返回list就是一个null, null去遍历就会出现空指向的异常.
调用list方法的独享必须封装成一个目录,该目录还必须存在.
listFile是获取当前目录下的文件对象,获取对象后,可以使用其中的方法来操作对象,list返回的是当前目录下的
文件夹和文件的名称.所以在开发中一般都是使用listFile ,因为可以使用其中的方法来操作它.
列出指定目录下文件或者文件夹,包含子目录中的内容。
也就是列出指定目录下所有内容。
因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可。
在列出过程中出现的还是目录的话,还可以再次调用本功能。
也就是函数自身调用自身。
这种表现形式,或者编程手法,称为递归。
递归要注意:
1,限定条件。
2,要注意递归的次数。尽量避免内存溢出。
递归的意义:其实递归就是一个方法在执行的过程中有去调用了自己的方法,而这个方法又不短的去调用这个方法,只有最后一个
方法结束后才能向上一个个的去执行前一个的方法,
删除一个带内容的目录 删除的原理就是递归,因为在windows中删除目录是从里向外删除,既然是从内向外删除,就要用到了递归.
properties应用:
设置获取元素:
设置:
properties pro = new properties(); pro.setproperty("zhangsan","30"); pro.setproperty("lisi","20"); System.out.println(pro);
String value pro.getproperty(""); System.out.println(value); set<String> names = pro.StringpropertyName(); for(Stirng s :names) { System.out.println(pro.getproperty) }
load()方法是从输入流中读取属性列表(键值对的形式)在加载数据时候要有固定的格式。
打印流:
该流提供了打印方法,可以将各种数据类型的数据都原样打印。字节打印流:
PrintStream
构造函数可以接收的参数类型:
1,file对象。File
2,字符串路径。String
3,字节输出流。OutputStream
字符打印流:
PrintWriter
构造函数可以接收的参数类型:
1,file对象。File
2,字符串路径。String
3,字节输出流。OutputStream
4,字符输出流,Writer。
切割文件代码:
FileInputStream fis = new FileInputStream("c:\\bmp") FileOutputStream fos = null; byte[] buf = new byte[1024]; int len = 0; int cpimt= 1; while((len=fis.read(buf))!=-1) { fos = new FileOutputStream("..."); fos.write(buf,0,len); fos.close(); }
Properties是hashtable的子类。
也就是说它具备map集合的特点。而且它里面存储的键值对都是字符串。是集合中和IO技术相结合的集合容器。
该对象的特点:可以用于键值对形式的配置文件。
那么在加载数据时,需要数据有固定格式:键=值。
删除一个带内容的目录。
删除原理:
在window中,删除目录从里面往外删除的。既然是从里往外删除。就需要用到递归。