首页 > 代码库 > iO练习题
iO练习题
package com.wl.cases; import java.io.File; /** * (二) 递归实现输入任意目录,列出文件以及文件夹,效果看图 * @author wanglu * @date 2016-11-08 */ public class CaseDemo_2 { public static void main(String[] args) { File file = new File("D:"); printMkdirs(file); } /* * 使用递归调用的方式 */ public static void printMkdirs(File file){ File[] listFiles = file.listFiles(); if(listFiles==null || listFiles.length<0 ) return; for (int i = 0; i < listFiles.length; i++) { if(listFiles[i].isDirectory()){ System.out.println(listFiles[i].getAbsolutePath()); printMkdirs(listFiles[i]); }else{ System.out.println(listFiles[i].getAbsolutePath()); } } } }
package com.wl.cases; import java.io.File; /** * (三) 递归实现列出当前工程下所有.java文件 * @author wanglu * @date 2016-11-08 */ public class CaseDemo_3 { public static void main(String[] args) { File file = new File("E:\\eclipset\\workspace\\IoDemo"); printProject(file); } public static void printProject(File file){ File[] listFiles = file.listFiles(); if(listFiles==null || listFiles.length<0) return; for (int i = 0; i < listFiles.length; i++) { if(listFiles[i].isDirectory()){ //listFiles[i].getName().contains(".java") printProject(listFiles[i]); }else{ /*if(listFiles[i].getName().contains(".java")){ System.out.println(listFiles[i].getName()); }*/ if(listFiles[i].toString().endsWith(".java")){ System.out.println(listFiles[i].getName()); } } } } }
package com.wl.cases; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; /** * (四)从磁盘读取一个文件到内存中,再打印到控制台 * @author wanglu * @date 2016-11-08 */ public class CaseDemo_4 { public static void main(String[] args) { File file = new File("C:\\Users\\wanglu\\Desktop\\HelloWorld.txt"); printConsole(file); } public static void printConsole(File file){ //创建一个字节缓冲输入流 BufferedInputStream bs = null; InputStreamReader ir = null; try { //创建一个字节输入流 FileInputStream fs = new FileInputStream(file); bs = new BufferedInputStream(fs); //创建一个转换流,从字节---字符的转换 ir = new InputStreamReader(bs); //此处表示创建一个长度跟文件长度大小一样的数组(此处需要改进) char[] b = new char[(int)file.length()]; int len; StringBuffer sb = new StringBuffer(); if((len = ir.read(b))!= -1){ sb.append(new String(b,0,len)); } System.out.println(sb); }catch (IOException e) { e.printStackTrace(); }finally{ if(ir!=null) try { ir.close(); } catch (IOException e) { e.printStackTrace(); } if(bs != null) try { bs.close(); } catch (IOException e) { e.printStackTrace(); } } } }
package com.wl.cases; import java.io.FileWriter; import java.io.IOException; /** * (五) 在程序中写一个"HelloJavaWorld你好世界"输出到操作系统文件Hello.txt文件中 * @author wanglu * @date 2016-11-08 */ public class CaseDemo_5 { public static void main(String[] args) { printToFile(); } public static void printToFile(){ //定义一个字符输出流 FileWriter fw = null; try { //定义一个字符串 String str = "HelloJavaWorld你好世界"; fw = new FileWriter("Hello.txt"); fw.write(str); } catch (IOException e) { e.printStackTrace(); }finally{ if(fw != null) try { fw.close(); } catch (IOException e) { e.printStackTrace(); } } } }
package com.wl.cases; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * (六) 拷贝一张图片,从一个目录到另外一个目录下 * 注: 除文本文件外,其他类型的文件都需要要字节流处理 * 所以此处我们需要用到字节流 */ public class CaseDeom_6 { public static void main(String[] args) { File file = new File("C:\\Users\\wanglu\\Desktop\\1.png"); File saveFile = new File("save.png"); copyPhoto(file,saveFile); } public static void copyPhoto(File file,File saveFile){ //创建字节缓冲输入流(加速) BufferedInputStream bs = null; //创建字节缓冲输出流(加速输出) BufferedOutputStream bo = null; try { //创建字节输入流 FileInputStream fs = new FileInputStream(file); bs = new BufferedInputStream(fs); //创建字节输出流 FileOutputStream fo = new FileOutputStream(saveFile); bo = new BufferedOutputStream(fo); byte[] b = new byte[1024]; int len; while((len = bs.read(b))!= -1){ bo.write(b, 0, len); bo.flush(); } }catch (IOException e) { e.printStackTrace(); }finally{ if(bo != null) try { bo.close(); } catch (IOException e) { e.printStackTrace(); } if(bs != null) try { bs.close(); } catch (IOException e) { e.printStackTrace(); } } } }
iO练习题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。