IO相关类

1,Properties    

package javaBase;

import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.*;

public class SystemDemo {
	public static void main(String[] args) {
		//Properties 是一个Map
		Properties prop = System.getProperties();
		prop.setProperty("name", "xukunn");
		String name = prop.getProperty("name");
		System.out.println("name = "+name);
		//增强型for循环
		for(Object obj:prop.keySet()){
			String value = (String)prop.get(obj);
			System.out.println(obj+"::"+value);
		}
		
	}
	/**
	 * properties输出到文件
	 */
	public static void list2File(Properties prop	) throws FileNotFoundException{
		prop.list(new PrintStream("systemInfo.txt"));
	}
	/**
	 * properties输出到控制台
	 */
	public static void list2Console(Properties prop	) {
		prop.list(System.out);
	}
}

properties练习

package javaBase.io.others;
import java.io.*;
import java.util.*;
public class PropertiesDemo {
	public static void main(String[] args) throws IOException {
//		setGet();
//		getIni("sys.ini");
		loadStore();
		
	}
	/*
	 * properties 自带的方法读取
	 */
	public static void loadStore() throws IOException{
		Properties prop = new Properties();
		FileInputStream in = new FileInputStream("sys.ini");
		prop.load(in);
		System.out.println(prop);
		prop.setProperty("sunhao", "18");
		FileOutputStream out = new  FileOutputStream("sys.ini");
		prop.store(out, "haha");
		prop.list(System.out);
		out.close();
		in.close();
	}
	public static void setGet(){
		Properties prop = new Properties();
		prop.setProperty("xukunn", 26+"");//全是字符串
		prop.setProperty("rambo", "35");
		Set<String> names = prop.stringPropertyNames();//提取key
		for(String name:names){
			System.out.println(name+": "+prop.getProperty(name));
		}
	}
	/*
	 * 从文件读取
	 */
	public static void getIni(String fileName) throws IOException{
		BufferedReader br = new BufferedReader(new FileReader(fileName));
		Properties prop = new Properties();
		String line = null;
		while((line = br.readLine())!=null){
			String [] ary = line.split("=");
			prop.setProperty(ary[0], ary[1]);
		}
		System.out.println(prop);
		br.close();
	}
}


2.File类

package javaBase.io.others;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
/*
 * File类  
 */
public class FileDemo {
	public static void main(String[] args) throws IOException{
		File f1 = new File("e:\\abc","a.txt");//如果文件已经存在,不创建。。。而用输出流的话会覆盖
		File f2 = new File("e:"+File.separator+"abc"+File.separator+"b.txt");//可以跨平台
		if(!f1.exists()){
			f1.createNewFile();//如果abc目录不存在,会抛异常找不到指定路径
		}
		
		f2.createNewFile();
		f2.deleteOnExit();//程序退出删除
		f1.delete();//直接删除
		listDemo(f1.getParentFile());//获取f1当前目录
		listFilter(new File("E:\\Admin\\workspace\\itHeima"));
		list();
	}
	/*
	 * 返回当前目录下的所有文件名
	 */
	public static void listDemo(File file){
		String[] names = file.list();//file封装了一个目录,必须存在
		for(String name :names){
			System.out.println(name);
		}
	}
	/*
	 * 列出当前目录下的所有txt文件
	 */
	public static void listFilter(File file){
		String[] names = file.list(new FilenameFilter() {			
			@Override
			public boolean accept(File dir, String name) {
//				System.out.println("dir:  "+dir+"name: "+name);//当不清楚参数可以打印一下看看
				return name.endsWith(".txt");
			}
		});
		for(String name:names){
			System.out.println(name);
		}
	}
	/*
	 * 列出文件,不仅仅是文件名
	 */
	public static void list(){
		File dir = new File("E:\\Admin\\workspace\\itHeima");
		File[] files = dir.listFiles();//File包含了很多有用信息
		for(File f:files){
			System.out.println(f.getName()+"::"+f.length());
		}
	}
}

递归删除目录下的所有文件

package javaBase.io.others;

import java.io.File;

public class DeleteDir {
	public static void main(String[] args) {
		removeDir(new File("c:\\temp"));
	}
	/*
	 * windows删除是从里往外删,递归
	 */
	public static void removeDir(File dir){
		File[] files = dir.listFiles();
		for(File f:files){
			if(f.isDirectory())
				removeDir(f);
			else
				f.delete();
		}
		dir.delete();//如果不写这一句,文件都删了,目录都还在
	}
}


转载于:https://www.cnblogs.com/xukunn/p/4082223.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值