Day20第二十天 java基础 -------IO流

------- 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中,删除目录从里面往外删除的。

既然是从里往外删除。就需要用到递归。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值