更新时间:2022年11月16日 16时01分29秒 来源:黑马程序员论坛
IO流的整体内容: 1.java.io.File类的使用 2.IO原理及流的分类 3.文件流: FileInputStream / FileOutputStream / FileReader / FileWriter 4.缓冲流:BufferedInputStream / BufferedOutputStream / BufferedReader / BufferedWriter 5.转换流: InputStreamReader / OutputStreamWriter 6.对象流 ----序列化、反序列化: ObjectInputStream / ObjectOutputStream其中学到了很多,例如删除多级文件: import java.io.File;import java.util.Scanner; /*键盘录入一个文件夹路径,删除该文件夹以及文件夹路径下的所有文件。 要求:录入的文件夹里面要有多个文件,包含有子文件夹。 提示:如果文件夹里面有文件,则需要先将文件删除才能删除文件夹。*/ public class Test17 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入文件路径:"); String s = sc.nextLine(); File file = new File(s); deleteFile(file); if (!file.exists()) { System.out.println("删除成功"); }else{ System.out.println("删除失败"); } } private static void deleteFile(File file) { if (file.isFile()){ file.delete(); File parentFile = file.getParentFile(); parentFile.delete(); }else{ File[] files = file.listFiles(); if (files==null){ return; } for (File f : files){ if (f==null){ f.delete(); } else{ deleteFile(f); } } } } }复制多级文件夹://复制多级文件 import java.io.*; public class t1 { public static void main(String[] args) throws IOException { File srcFile = new File("E\\itcast"); File destFile = new File("f:\\"); copyFolder(srcFile, destFile); } private static void copyFolder(File srcFile, File destFile) throws IOException { // 判断数据源File是否是目录 if (srcFile.isDirectory()) { //在目的地下创建和数据源File名称一样的目录 String srcFileName = srcFile.getName(); File newFolder = new File(destFile + srcFileName); if (!newFolder.exists()) { newFolder.mkdir(); } File[] fileArray = srcFile.listFiles(); for (File file : fileArray) { copyFolder(file, newFolder); } } else { File newFile = new File(destFile,srcFile.getName()); copy(srcFile,newFile); } } private static void copy(File srcFile, File newFile) throws IOException { BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile)); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile)); byte[] bys = new byte[1024]; int len; while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); bis.close(); } } |
猜你喜欢:
java培训课程