文件的创建文件与文件的读取
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"); } }
if you want to go fast,go alone,if you want to go far,go together