File小结

File:
	将文件或者文件夹封装成了对象。
	可用于操作文件的属性信息。

File并不是流对象,流只用来操作数据,File用来操作文件信息。
	
	createNewFile(): 创建文件,如果指定目录下已有要创建文件,那么不进行覆盖,
			可通过该方法的返回值来确定是否创建成功。
			输出流也可以创建文件,但是如果文件已存在,会出现覆盖。
	mkdir():创建单级目录。
	mkdirs():创建多级目录。
	exsits(),判断文件或者文件夹是否存在。
	isFile():在判断一个文件对象封装的是否是文件或者文件夹,必须要先明确该文件是存在的。
	isDirectory():
	getName();
	getAbsolutePath();
	getPath();
	length();
	static File[] listRoots():列出当前机器有效的盘符。
	String[] list():获取指定目录的当前所有文件或者文件夹的名称。
	String[] list(FilenameFilter filter):可以通过指定的条件对数据进行过滤。

	File[] listFiles():返回的是当前目录下所有文件或者文件夹对应的file对象。

	跨平台的目录分隔符:separator  File f = new File("c:"+File.separator+"a.txt");
------------------------------
	需求:获取指定目录下所有的文件和文件夹,包括子文件夹中的文件。

	递归:就是函数自身调用自身,
		注意:一定要限定条件以及控制一下调用次数,以免出现内存溢出。
	
	功能在被重复使用,但是操作的未知 内容不同,可以使用递归这种手法。

	public static void listAll(File dir)
	{
		System.out.println(dir.getName());
		File[] files = dir.listFiles();
		for(int x=0;x <files.length; x++)
		{
			if(files[x].isDirectory())
				listAll(files[x]);
			else
				System.out.println(files[x].getName());
		}
	}
		

	需求:删除一个带内容的目录。
		按照windows的特点,必须从里往外删。
	public static void listAll(File dir)
	{
		File[] files = dir.listFiles();
		for(int x=0;x <files.length; x++)
		{
			if(files[x].isDirectory())
				listAll(files[x]);
			else
				files[x].delete();
		}
		dir.delete();
	}

----------------------------------




是集合中HashTable的子类对象。
	该容器的特点:存储的键值都是字符串。是一个可以集合和流相结合的容器。

	特有方法:
		list(PrintStream):集合中的数据展现到指定的目的。
		load(InputStream):可以加载流关联的特定规则数据进集合。
		store(OutputStream,String):将集合的数据存储到流所关联的文件中。

		需求:记录每一次程序的运行次数。	
		思路:程序在退出后,下次启动就可以明确使用的次数,那么就一定需要一个配置文件。
			在每一次程序启动时都需要加载的。
			(另软件的个性化设置同理。)
			而配置文件中,需要使用键值对来明确数据信息。

		public void runCount()
		{
			Properties prop = new Properties();

			File file = new File("count.ini");
			if(!file.exists())
				file.createNewFile();
			FileInputStream fis = new FileInputStream(file);

			prop.load(fis);

			int count = 0;

			String value = prop.getProperty("count");
			if(value!=null)
			{
				count = Integer.parseInt(value);
				if(count==10)
				{
					System.out.println("次数已到");
					return ;
				}
			}
			count++;

			prop.setProperty("count",count+"");

			FileOutputStream fos = new FileOutputStream(file);

			prop.store(fos,"");

			fos.close();
			fis.close();
		}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值