Constructor

/*File(pathname)
 * 
 * File(String parent,String child)
 * 
 * File(File parent,String child)
 * */
 
 可以用一个斜杠/或者两个反斜杠\\
 
 例如:
 	File f1 = new File("H:/IDM/DwnlData");
	File f3 = new File("H:/IDM","DwnlData");
	
	File parents = new File("H:/IDM");
	File f4 = new File(parents,"DwnlData");

方法:
	 * creatNewFile()  指定的文件不存在,就创建文件返回true,否则就返回false 
	 * mkdir() 创建单级文件夹,创建成功返回true,否则返回false
	 * mkdirs() 创建多级文件夹,创建成功返回true,否则返回false
	 * delete()删除单个文件或者文件夹
	 
 判断:
 * exists() 判断文件或文件夹是否存在
 * isDirectory() 判断文件对象是不是一个文件夹
 * isFile() 判断文件对象是不是一个文件
 * 前三个用的比较多,
 * isAbsolute 判断当前路径是不是绝对路径
 * isHidden() 判断文件是否隐藏
 
 获取: 
 	getAbsoluteFile();获取文件的绝对路径,返回file对象
	getAbsolutePath();获取文件的绝对路径,返回路径字符串
	f2.getParentFile();获取当前路径的父路径,以file对象的形式返回
	getParent();获取当前路径的父路径,以字符串形式返回
	getPath();获取当前路径
	getName();获取当前文件或文件夹名称
	lastModified();获取文件最后修改时间
	length();获取文件长度
	getTotalSpace()获取分区磁盘总大小
 	renameTo(File newFile())给文件改名字
 	
	* list() 以字符串形式返回当前路径下的所有文件和文件夹
 	* listFiles() 以file对象的形式返回当前路径下的所有文件和文件夹
 
 
递归:
	方法内调用方法,调用自己,
	
实例:
	列出一个文件夹下所有的子文件和子文件夹
	private static void showList(File file) {
	// TODO Auto-generated method stub
	if(file.isDirectory()) {
		File[] listFiles = file.listFiles();
		for(File f : listFiles) {
			//这里正在循环的f是文件夹对象
			if(f.isFile()) {
				System.out.println("文件"+f.getName());
			}else if(f.isDirectory()) {
				showList(f);//这里用的就是递归
			}
		}
	}
	System.out.println("文件夹:"+file.getName());
}

装饰者设计模式
对原有类进行了功能增强
与继承的不同
继承:被增强的对象固定
被增强的内容也是固定的
装饰者模式:被增强的对象是可以切换的
被增强的内容是固定的

动态代理(AOP):被增强的对象可以切换
			被增强的内容也可以切换

class FileReader{
void read(){
开始读
}
}

继承
class MyFileReader extends FileReader{
void read(){
定义一个缓冲区
开始读
}
}

装饰者设计模式
class BufferReader extends Reader{
private Reader r;

BufferedReader(Reader r){
	this.r = r;	
}

void read(){
	定义一个缓冲区
	r.read();
}

}

转换流
第一个
FileReader fr = new FileReader("H:a.txt");
FileWriter fw = new FileWriter("H:Trans.txt");

	BufferedReader br = new BufferedReader(fr);
	BufferedWriter bw = new BufferedWriter(fw);
	
	String line = null;
	while((line = br.readLine()) != null) {
		bw.write(line);
		bw.newLine();
		bw.flush();
	}
	fr.close();
	fw.close();
	br.close();
	bw.close();
	第二个
	FileInputStream fis = new FileInputStream("H:a.txt");
	FileOutputStream fos = new FileOutputStream("H:Trans2.txt");
	
	InputStreamReader isr = new InputStreamReader(fis,"gbk");
	OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");
	
	char [] c = new char[1024];
	int li = 0;
	while((li = isr.read(c)) != -1) {
		osw.write(c,0,li);
		osw.flush();		
	}
	fis.close();
	fos.close();
	isr.close();
	osw.close();
}
posted on 2019-05-05 14:42  南栀风寒  阅读(94)  评论(0)    收藏  举报