文件的创建文件与文件的读取

public void createFile() throws IOException{
		File file=new File("c:/myFileTest/test1.doc");
		FileOutputStream fos=new FileOutputStream(file);//构建FileOutputStream对象,文件不存在会自动新建
		OutputStreamWriter osWriter=new OutputStreamWriter(fos, "utf-8");
		//构建OutputStreamWriter对象,参数可以指定编码,默认为操作系统默认编码,windows上是gbk
		osWriter.append("这个是中文输入啦啦");
		//写入到缓冲区
		osWriter.append("\r\n");
		//换行
		osWriter.append("this is English input");
		//刷新缓存冲,写入到文件,如果下面已经没有写入的内容了,直接close也会写入
		osWriter.close();
		//关闭写入流,同时会把缓冲区内容写入文件,所以上面的注释掉
		fos.close();
		//关闭输出流,释放系统资源
	}
	
	public void readFile() throws IOException{
		File file=new File("c:/myFileTest/test1.doc");
		FileInputStream fis=new FileInputStream(file);//创建FileInputStream对象
		InputStreamReader isReader=new InputStreamReader(fis,"utf-8");
		//创建InputStreamReader对象,编码与写入相同
		StringBuffer sb=new StringBuffer();
		while(isReader.ready()){
			sb.append((char)isReader.read());
			// 转成char加到StringBuffer对象中
		}
		System.out.println(sb.toString());
		isReader.close();
		// 关闭读取流
		fis.close();
		// 关闭输入流,释放系统资源
	}
	
	/**
	 * inputStream和outputStream的用法
	 * 该方法不好用,因为会出现乱码
	 */
	public void InputStreamAndOutputStream() throws IOException{
		//创建文件流
		byte bwrite[]={11,43,23,57};
		OutputStream os=new FileOutputStream("c:/myFileTest/testa.txt");
		for(byte a:bwrite){
			os.write(a);
		}
		os.close();
		
		//读取文件流
		InputStream is=new FileInputStream("c:/myFileTest/testa.txt");
		int size=is.available();
		for(int i=0;i<size;i++){
			System.out.println((char)is.read());
		}
		is.close();
	}
	
	/**
	 * 创建文件夹
	 */
	public void createDir(){
		
		String dirName="c:/yin/yan/ling";
		File f=new File(dirName);
		f.mkdirs();//mkdirs()方法创建一个文件夹和它的所有父文件夹。
		
		
		/*File类中有两个方法可以用来创建文件夹:
		mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。
		mkdirs()方法创建一个文件夹和它的所有父文件夹。*/
	}
	/**
	 * 读取目录
	 */
	@Test
	public void DirList(){
		String dirName="c:/yin";
		File f=new File(dirName);
		
		
		//判断是否文件夹
		if(f.isDirectory()){
			
			System.out.println("directory of ::"+dirName);
			String s[]=f.list();
			System.out.println("the list length is "+s.length);
			
			for(int i=0;i<s.length;i++){
				
				File f1=new File(dirName+"/"+s[i]);
				
				if(f1.isDirectory()){
					System.out.println("directory of :::"+s[i]);
				}else{
					System.out.println(s[i]+" is not directory");
				}
				
			}
		}else{
			System.out.println(dirName+" is not a directory");
		}
	}

  

posted @ 2016-08-25 11:42  存钱罐  阅读(231)  评论(0编辑  收藏  举报