File(二) Properties



递归方法的使用:

使用递归的方法列出从多级目录下面所有的文件:

public class Demo13 {
 public static void main(String[] args) {

  File file = new File("D:\\LQBZ");
  showFile(file);

 }
 
 public static void showFile(File dir) {
  File[] filelist = dir.listFiles();
  for (File eachFile : filelist) {

   if (eachFile.isDirectory()) {
    System.out.println(eachFile.getName() + "===============");
    showFile(eachFile);
   } else {
    System.out.println(eachFile.getName());
   }
  }
  
 }
}

个人感觉:使用递归最重要的是

1.判断的条件(也就是在什么情况下调用自己)

2.对条件的处理(不能让他无限制不做任何更改的一直调用自己,会死循环)

3.注意递归的资料,避免内存溢出

 

递归分为有返回值递归和无返回值递归

无返回值递归 一般用于当时就可以对数据或文件进行处理操作

有返回值递归 一般用于需要依靠下面递归返回的值,然后对本身进行处理。
 

 

使用递归删除带内容的目录:

public static void removeFile(File dir) {

		File[] fileList = dir.listFiles();
		for (File file : fileList) {
                            // 判断文件不是隐藏的,并且是目录		
                   	if (!file.isHidden()&&file.isDirectory()) {
  				removeFile(file);
			} else {
				file.delete();
			}
		}
		dir.delete();

	}


 

 Properties对象

设置元素

Properties p = new Properties();
  p.setProperty("zhangsan", "20");

 

获取元素

p.getProperty("zhangsan");

将propertity转换为Set<String>  方便遍历

将文档中的数据放到Propertity中

try {
			Properties p = new Properties();

			Reader read = new FileReader("D:\\aa.txt");
			BufferedReader bd = new BufferedReader(read);
			String len = "";
			while ((len = bd.readLine()) != null) {
				String[] info = len.split("=");
				p.setProperty(info[0], info[1]);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}


直接加载字符流到Properties

FileInputStream fis = new FileInputStream("D:\\aa.txt");
p.load(fis);

 

将Properties信息保存到一个文件

p.store(fos, "这里是每行的注释");

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值