Java File 操作

来源:互联网 发布:牛元js防水多少钱一桶 编辑:程序博客网 时间:2024/06/14 20:51
 //1.创建文件夹     //import java.io.*;     File myFolderPath = new File(str1);     try {         if (!myFolderPath.exists()) {            myFolderPath.mkdir();         }     }     catch (Exception e) {         System.out.println("新建目录操作出错");         e.printStackTrace();     }      //2.创建文件     //import java.io.*;     File myFilePath = new File(str1);     try {         if (!myFilePath.exists()) {             myFilePath.createNewFile();         }         FileWriter resultFile = new FileWriter(myFilePath);         PrintWriter myFile = new PrintWriter(resultFile);         myFile.println(str2);         resultFile.close();     }     catch (Exception e) {         System.out.println("新建文件操作出错");         e.printStackTrace();     }      //3.删除文件     //import java.io.*;     File myDelFile = new File(str1);     try {         myDelFile.delete();     }     catch (Exception e) {         System.out.println("删除文件操作出错");         e.printStackTrace();     }      //4.删除文件夹     //import java.io.*;     File delFolderPath = new File(str1);     try {         delFolderPath.delete(); //删除空文件夹     }     catch (Exception e) {         System.out.println("删除文件夹操作出错");         e.printStackTrace();     }      //5.删除一个文件下夹所有的文件夹     //import java.io.*;     File delfile=new File(str1);     File[] files=delfile.listFiles();     for(int i=0;i<files.length;i++){         if(files[i].isDirectory()){             files[i].delete();         }     }       //6.清空文件夹     //import java.io.*;     File delfilefolder=new File(str1);     try {         if (!delfilefolder.exists()) {             delfilefolder.delete();         }         delfilefolder.mkdir();     }     catch (Exception e) {         System.out.println("清空目录操作出错");         e.printStackTrace();     }      //7.读取文件     //import java.io.*;     // 逐行读取数据     FileReader fr = new FileReader(str1);     BufferedReader br = new BufferedReader(fr);     String str2 = br.readLine();     while (str2 != null) {         str3         str2 = br.readLine();     }     br.close();     fr.close();      //8.写入文件     //import java.io.*;     // 将数据写入文件     try {         FileWriter fw = new FileWriter(str1);         fw.write(str2);         fw.flush();         fw.close();      } catch (IOException e) {         e.printStackTrace();     }     //9.写入随机文件     //import java.io.*;     try {         RandomAcessFile logFile=new RandomAcessFile(str1,"rw");         long lg=logFile.length();         logFile.seek(str2);         logFile.writeByte(str3);     }catch(IOException ioe){         System.out.println("无法写入文件:"+ioe.getMessage());     }      //10.读取文件属性     //import java.io.*;     // 文件属性的取得     File f = new File(str1);     if (af.exists()) {         System.out.println(f.getName() + "的属性如下: 文件长度为:" + f.length());         System.out.println(f.isFile() ? "是文件" : "不是文件");         System.out.println(f.isDirectory() ? "是目录" : "不是目录");         System.out.println(f.canRead() ? "可读取" : "不");         System.out.println(f.canWrite() ? "是隐藏文件" : "");         System.out.println("文件夹的最后修改日期为:" + new Date(f.lastModified()));         } else {         System.out.println(f.getName() + "的属性如下:");         System.out.println(f.isFile() ? "是文件" : "不是文件");         System.out.println(f.isDirectory() ? "是目录" : "不是目录");         System.out.println(f.canRead() ? "可读取" : "不");         System.out.println(f.canWrite() ? "是隐藏文件" : "");         System.out.println("文件的最后修改日期为:" + new Date(f.lastModified()));     }     if(f.canRead()){         str2     }     if(f.canWrite()){         str3     }     //11.写入属性     //import java.io.*;     File filereadonly=new File(str1);     try {         boolean b=filereadonly.setReadOnly();     }     catch (Exception e) {         System.out.println("拒绝写访问:"+e.printStackTrace());     }      //12.枚举一个文件夹中的所有文件     //import java.io.*;     //import java.util.*;     LinkedList<String> folderList = new LinkedList<String>();     folderList.add(str1);     while (folderList.size() > 0) {         File file = new File(folderList.peek());         folderList.removeLast();         File[] files = file.listFiles();         ArrayList<File> fileList = new ArrayList<File>();         for (int i = 0; i < files.length; i++) {             if (files[i].isDirectory()) {                 folderList.add(files[i].getPath());             } else {                 fileList.add(files[i]);             }         }         for (File f : fileList) {             str2=f.getAbsoluteFile();             str3         }     }     //13.复制文件夹      //import java.io.*;     //import java.util.*;     LinkedList<String> folderList = new LinkedList<String>();     folderList.add(str1);     LinkedList<String> folderList2 = new LinkedList<String>();     folderList2.add(str2+ str1.substring(str1.lastIndexOf("\\")));     while (folderList.size() > 0) {         (new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹         File folders = new File(folderList.peek());         String[] file = folders.list();         File temp = null;         try {             for (int i = 0; i < file.length; i++) {                 if (folderList.peek().endsWith(File.separator)) {                     temp = new File(folderList.peek() + File.separator                     + file[i]);                 } else {                     temp = new File(folderList.peek() + File.separator + file[i]);                 }                 if (temp.isFile()) {                     FileInputStream input = new FileInputStream(temp);                     FileOutputStream output = new FileOutputStream(                     folderList2.peek() + File.separator + (temp.getName()).toString());                     byte[] b = new byte[5120];                     int len;                     while ((len = input.read(b)) != -1) {                         output.write(b, 0, len);                     }                     output.flush();                     output.close();                     input.close();                 }                 if (temp.isDirectory()) {// 如果是子文件夹                     for (File f : temp.listFiles()) {                         if (f.isDirectory()) {                             folderList.add(f.getPath());                             folderList2.add(folderList2.peek()                             + File.separator + f.getName());                         }                     }                 }             }         } catch (Exception e) {         //System.out.println("复制整个文件夹内容操作出错");             e.printStackTrace();         }         folderList.removeFirst();         folderList2.removeFirst();     }     //14.复制一个文件夹下所有的文件夹到另一个文件夹下     //import java.io.*;     //import java.util.*;     File copyfolders=new File(str1);     File[] copyfoldersList=copyfolders.listFiles();     for(int k=0;k<copyfoldersList.length;k++){         if(copyfoldersList[k].isDirectory()){             ArrayList<String>folderList=new ArrayList<String>();             folderList.add(copyfoldersList[k].getPath());             ArrayList<String>folderList2=new ArrayList<String>();             folderList2.add(str2+"/"+copyfoldersList[k].getName());             for(int j=0;j<folderList.length;j++){                  (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹                  File folders=new File(folderList.get(j));                  String[] file=folders.list();                  File temp=null;                  try {                      for (int i = 0; i < file.length; i++) {                          if(folderList.get(j).endsWith(File.separator)){                              temp=new File(folderList.get(j)+"/"+file[i]);                          } else {                              temp=new File(folderList.get(j)+"/"+File.separator+file[i]);                          }                          FileInputStream input = new FileInputStream(temp);                          if(temp.isFile()){                              FileInputStream input = new FileInputStream(temp);                              FileOutputStream output = new FileOutputStream(folderList2.get(j) + "/" + (temp.getName()).toString());                              byte[] b = new byte[5120];                              int len;                              while ( (len = input.read(b)) != -1) {                                  output.write(b, 0, len);                              }                              output.flush();                              output.close();                              input.close();                          }                          if(temp.isDirectory()){//如果是子文件夹                              folderList.add(folderList.get(j)+"/"+file[i]);                              folderList2.add(folderList2.get(j)+"/"+file[i]);                          }                      }                  }                  catch (Exception e) {                      System.out.println("复制整个文件夹内容操作出错");                      e.printStackTrace();                  }             }         }     }     //15.移动文件夹     //import java.io.*;     //import java.util.*;     LinkedList<String> folderList = new LinkedList<String>();     folderList.add(str1);     LinkedList<String> folderList2 = new LinkedList<String>();     folderList2.add(str2 + str1.substring(str1.lastIndexOf("\\")));     while (folderList.size() > 0) {         (new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹         File folders = new File(folderList.peek());         String[] file = folders.list();         File temp = null;         try {             for (int i = 0; i < file.length; i++) {                 if (folderList.peek().endsWith(File.separator)) {                     temp = new File(folderList.peek() + File.separator + file[i]);                 } else {                     temp = new File(folderList.peek() + File.separator + file[i]);                 }                 if (temp.isFile()) {                     FileInputStream input = new FileInputStream(temp);                     FileOutputStream output = new FileOutputStream(                     folderList2.peek() + File.separator + (temp.getName()).toString());                     byte[] b = new byte[5120];                     int len;                     while ((len = input.read(b)) != -1) {                         output.write(b, 0, len);                     }                     output.flush();                     output.close();                     input.close();                     if (!temp.delete())                     System.out.println("删除单个文件操作出错!");                 }                 if (temp.isDirectory()) {// 如果是子文件夹                     for (File f : temp.listFiles()) {                         if (f.isDirectory()) {                             folderList.add(f.getPath());                             folderList2.add(folderList2.peek() + File.separator + f.getName());                         }                     }                 }             }         } catch (Exception e) {             // System.out.println("复制整个文件夹内容操作出错");             e.printStackTrace();         }         folderList.removeFirst();         folderList2.removeFirst();     }     File f = new File(str1);     if (!f.delete()) {         for (File file : f.listFiles()) {             if (file.list().length == 0) {                 System.out.println(file.getPath());                 file.delete();             }         }     }     //16.移动一个文件夹下所有的文件夹到另一个目录下     //import java.io.*;     //import java.util.*;     File movefolders=new File(str1);     File[] movefoldersList=movefolders.listFiles();     for(int k=0;k<movefoldersList.length;k++){         if(movefoldersList[k].isDirectory()){             ArrayList<String>folderList=new ArrayList<String>();             folderList.add(movefoldersList[k].getPath());             ArrayList<String>folderList2=new ArrayList<String>();             folderList2.add(str2+"/"+movefoldersList[k].getName());             for(int j=0;j<folderList.length;j++){                  (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹                  File folders=new File(folderList.get(j));                  String[] file=folders.list();                  File temp=null;                  try {                      for (int i = 0; i < file.length; i++) {                          if(folderList.get(j).endsWith(File.separator)){                              temp=new File(folderList.get(j)+"/"+file[i]);                          }                          else{                              temp=new File(folderList.get(j)+"/"+File.separator+file[i]);                          }                          FileInputStream input = new FileInputStream(temp);                          if(temp.isFile()){                              FileInputStream input = new FileInputStream(temp);                              FileOutputStream output = new FileOutputStream(folderList2.get(j) + "/" + (temp.getName()).toString());                              byte[] b = new byte[5120];                              int len;                              while ( (len = input.read(b)) != -1) {                                  output.write(b, 0, len);                              }                              output.flush();                              output.close();                              input.close();                              temp.delete();                          }                          if(temp.isDirectory()){//如果是子文件夹                              folderList.add(folderList.get(j)+"/"+file[i]);                              folderList2.add(folderList2.get(j)+"/"+file[i]);                          }                      }                  }                  catch (Exception e) {                      System.out.println("复制整个文件夹内容操作出错");                      e.printStackTrace();                  }             }             movefoldersList[k].delete();         }     }     //17.以一个文件夹的框架在另一个目录创建文件夹和空文件     //import java.io.*;     //import java.util.*;     boolean b=false;//不创建空文件     ArrayList<String>folderList=new ArrayList<String>();     folderList.add(str1);     ArrayList<String>folderList2=new ArrayList<String>();     folderList2.add(str2);     for(int j=0;j<folderList.length;j++){         (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹         File folders=new File(folderList.get(j));         String[] file=folders.list();         File temp=null;         try {             for (int i = 0; i < file.length; i++) {                 if(folderList.get(j).endsWith(File.separator)){                     temp=new File(folderList.get(j)+"/"+file[i]);                 }                 else{                     temp=new File(folderList.get(j)+"/"+File.separator+file[i]);                 }                 FileInputStream input = new FileInputStream(temp);                 if(temp.isFile()){                     if (b) temp.createNewFile();                 }                 if(temp.isDirectory()){//如果是子文件夹                     folderList.add(folderList.get(j)+"/"+file[i]);                     folderList2.add(folderList2.get(j)+"/"+file[i]);                 }             }         }         catch (Exception e) {             System.out.println("复制整个文件夹内容操作出错");             e.printStackTrace();         }     }     //18.复制文件     //import java.io.*;      int bytesum = 0;      int byteread = 0;      File oldfile = new File(str1);      try {      if (oldfile.exists()) { //文件存在时      FileInputStream inStream = new FileInputStream(oldfile); //读入原文件      FileOutputStream fs = new FileOutputStream(new File(str2,oldfile.getName()));      byte[] buffer = new byte[5120];      int length;      while ( (byteread = inStream.read(buffer)) != -1) {      bytesum += byteread; //字节数 文件大小      System.out.println(bytesum);      fs.write(buffer, 0, byteread);      }      inStream.close();      }      }      catch (Exception e) {      System.out.println("复制单个文件操作出错");      e.printStackTrace();      }      //19.复制一个文件夹下所有的文件到另一个目录     //import java.io.*;     File copyfiles=new File(str1);     File[] files=copyfiles.listFiles();     for(int i=0;i<files.length;i++){         if(!files[i].isDirectory()){             int bytesum = 0;             int byteread = 0;             try {                 InputStream inStream = new FileInputStream(files[i]); //读入原文件                 FileOutputStream fs = new FileOutputStream(new File(str2,files[i].getName());                 byte[] buffer = new byte[5120];                 int length;                 while ( (byteread = inStream.read(buffer)) != -1) {                     bytesum += byteread; //字节数 文件大小                     System.out.println(bytesum);                     fs.write(buffer, 0, byteread);                 }                 inStream.close();             } catch (Exception e) {                 System.out.println("复制单个文件操作出错");                 e.printStackTrace();             }         }     }      //20.提取扩展名     String str2=str1.substring(str1.lastIndexOf(".")+1);
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刘兰芳白眉大侠 刘兰芳 薛刚反唐 评书杨家将刘兰芳播讲全集 刘兰芳评书大全在线听 刘兰芳评书呼家将93回 呼家将评书刘兰芳全集 刘兰芳评书网赵匡胤 呼家将刘兰芳评书全集 刘兰芳评书赵匡胤演义 刘兰芳评书网在线收听 刘兰芳赵匡胤演义100回 刘兰芳评书在线收听 刘兰芳评书赵匡胤演义100 刘兰芳岳飞传全集mp3在线听 刘兰芳评书大全岳飞传 评书赵匡胤刘兰芳播讲 扬家将评书刘兰芳播讲 岳飞传刘兰芳全集117 刘兰芳评书杨家将93回在线听 评书岳飞传刘兰芳播讲117回 刘兰芳评书赵匡胤演义100回 刘兰芳评书杨家将全集 刘兰芳评书杨家将全传 刘兰芳评书岳飞全传 刘兰芳评书岳飞传大全117集 刘兰芳评书网赵匡胤演义 刘兰芳平书杨家将全集 刘兰芳评书呼家将全集 评书杨家将刘兰芳广播全集 评书网刘兰芳岳飞传 评书杨家将刘兰芳mp3下载 评书岳飞传刘兰芳全集 刘兰芳岳飞传全集mp3下载 评书网刘兰芳杨家将 刘兰芳的评书岳飞传 刘兰芳评书大全呼家将 刘兰芳评书打包下载 杨家将评书刘兰芳全集下载 评书呼家将刘兰芳 全集 刘兰芳评书下载mp3打包下载 刘兰芳评书呼家将征西