精华内容
下载资源
问答
  • import org.junit.Test; import java.io.File; import java.io.IOException; import java.util.Date;... * File类的使用 ... File类中涉及到关于文件文件目录的创建、删除、重命名、修改时间、文件大小等方法,.
    package com.atguigu.java3;
    
    import org.junit.Test;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Date;
    
    /**
     * File类的使用
     *
     * 1. File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)
     * 2. File类声明在java.io包下
     * 3. File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,
     *    并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。
     * 4. 后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的"终点".
     *
     */
    public class FileTest {
        /*
        1.如何创建File类的实例
            File(String filePath)
            File(String parentPath,String childPath)
            File(File parentFile,String childPath)
    
        2.
        相对路径:相较于某个路径下,指明的路径。
        绝对路径:包含盘符在内的文件或文件目录的路径
    
        3.路径分隔符
         windows:\\
         unix:/
         */
        @Test
        public void test1(){
            //构造器1
            File file1 = new File("hello.txt");//相对于当前module
            File file2 =  new File("D:\\workspace_idea1\\JavaSenior\\day08\\he.txt");
    
            System.out.println(file1);
            System.out.println(file2);
    
            //构造器2:
            File file3 = new File("D:\\workspace_idea1","JavaSenior");
            System.out.println(file3);
    
            //构造器3:
            File file4 = new File(file3,"hi.txt");
            System.out.println(file4);
        }
    
        /*
    public String getAbsolutePath():获取绝对路径
    public String getPath() :获取路径
    public String getName() :获取名称
    public String getParent():获取上层文件目录路径。若无,返回null
    public long length() :获取文件长度(即:字节数)。不能获取目录的长度。
    public long lastModified() :获取最后一次的修改时间,毫秒值
    
    如下的两个方法适用于文件目录:
    public String[] list() :获取指定目录下的所有文件或者文件目录的名称数组
    public File[] listFiles() :获取指定目录下的所有文件或者文件目录的File数组
    
    
         */
        @Test
        public void test2(){
            File file1 = new File("hello.txt");
            File file2 = new File("d:\\io\\hi.txt");
    
            System.out.println(file1.getAbsolutePath());
            System.out.println(file1.getPath());
            System.out.println(file1.getName());
            System.out.println(file1.getParent());
            System.out.println(file1.length());
            System.out.println(new Date(file1.lastModified()));
    
            System.out.println();
    
            System.out.println(file2.getAbsolutePath());
            System.out.println(file2.getPath());
            System.out.println(file2.getName());
            System.out.println(file2.getParent());
            System.out.println(file2.length());
            System.out.println(file2.lastModified());
        }
        @Test
        public void test3(){
            File file = new File("D:\\workspace_idea1\\JavaSenior");
    
            String[] list = file.list();
            for(String s : list){
                System.out.println(s);
            }
    
            System.out.println();
    
            File[] files = file.listFiles();
            for(File f : files){
                System.out.println(f);
            }
    
        }
        /*
        public boolean renameTo(File dest):把文件重命名为指定的文件路径
         比如:file1.renameTo(file2)为例:
            要想保证返回true,需要file1在硬盘中是存在的,且file2不能在硬盘中存在。
         */
        @Test
        public void test4(){
            File file1 = new File("hello.txt");
            File file2 = new File("D:\\io\\hi.txt");
    
            boolean renameTo = file2.renameTo(file1);
            System.out.println(renameTo);
    
        }
        /*
    public boolean isDirectory():判断是否是文件目录
    public boolean isFile() :判断是否是文件
    public boolean exists() :判断是否存在
    public boolean canRead() :判断是否可读
    public boolean canWrite() :判断是否可写
    public boolean isHidden() :判断是否隐藏
    
         */
        @Test
        public void test5(){
            File file1 = new File("hello.txt");
            file1 = new File("hello1.txt");
    
            System.out.println(file1.isDirectory());
            System.out.println(file1.isFile());
            System.out.println(file1.exists());
            System.out.println(file1.canRead());
            System.out.println(file1.canWrite());
            System.out.println(file1.isHidden());
    
            System.out.println();
    
            File file2 = new File("d:\\io");
            file2 = new File("d:\\io1");
            System.out.println(file2.isDirectory());
            System.out.println(file2.isFile());
            System.out.println(file2.exists());
            System.out.println(file2.canRead());
            System.out.println(file2.canWrite());
            System.out.println(file2.isHidden());
    
        }
        /*
        创建硬盘中对应的文件或文件目录
    public boolean createNewFile() :创建文件。若文件存在,则不创建,返回false
    public boolean mkdir() :创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。
    public boolean mkdirs() :创建文件目录。如果此文件目录存在,就不创建了。如果上层文件目录不存在,一并创建
    
        删除磁盘中的文件或文件目录
    public boolean delete():删除文件或者文件夹
        删除注意事项:Java中的删除不走回收站。
    
         */
        @Test
        public void test6() throws IOException {
            File file1 = new File("hi.txt");
            if(!file1.exists()){
                //文件的创建
                file1.createNewFile();
                System.out.println("创建成功");
            }else{//文件存在
                file1.delete();
                System.out.println("删除成功");
            }
    
    
        }
        @Test
        public void test7(){
            //文件目录的创建
            File file1 = new File("d:\\io\\io1\\io3");
    
            boolean mkdir = file1.mkdir();
            if(mkdir){
                System.out.println("创建成功1");
            }
    
            File file2 = new File("d:\\io\\io1\\io4");
    
            boolean mkdir1 = file2.mkdirs();
            if(mkdir1){
                System.out.println("创建成功2");
            }
            //要想删除成功,io4文件目录下不能有子目录或文件
            File file3 = new File("D:\\io\\io1\\io4");
            file3 = new File("D:\\io\\io1");
            System.out.println(file3.delete());
        }
    }
    

     

    展开全文
  • 这是前段时间用Java写的一个File文件的操作类,该类中的子方法文件新建、删除、修改以及文件和文件夹的全级搜索和单级搜索,该类还在完善中,以供学习交流!!(未完!)import java.io.BufferedReader; import ...
        这是前段时间用Java写的一个File文件的操作类,该类中的子方法有文件新建、删除、修改以及文件和文件夹的全级搜索和单级搜索,该类还在完善中,以供学习交流!!
    (未完!)
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.io.RandomAccessFile;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Set;
    import java.util.TreeSet;
    
    
    
    
    public class FileOperate {
    	
    	private static FileOperate instance = null;
    	public static FileOperate getInstance() {
    		if (instance == null) {
    			instance = new FileOperate();
    		}
    		return instance;
    	}
    	
    	public FileOperate(){
    	}
    
    	
    	/** 
         * 新建目录 
         * @param folderPath String 如 c:/fqf 
         * @return boolean 
         */ 
       public static void newFolder(String folderPath) { 
           try { 
               String filePath = folderPath; 
               filePath = filePath.toString(); 
               java.io.File myFilePath = new java.io.File(filePath); 
               if (!myFilePath.exists()) { 
                   myFilePath.mkdir(); 
               } 
           } 
           catch (Exception e) { 
               System.out.println("新建目录操作出错"); 
               e.printStackTrace(); 
           } 
       } 
    
       /** 
         * 新建文件 
         * @param filePathAndName String 文件路径及名称 如c:/text.txt 
         * @param fileContent String 文件内容 
         * @return boolean 
         */ 
       public static void newFile(String filePathAndName, String fileContent) { 
    
           try { 
               String filePath = filePathAndName; 
               filePath = filePath.toString(); 
               File myFilePath = new File(filePath); 
               if (!myFilePath.exists()) { 
                   myFilePath.createNewFile(); 
               } 
               FileWriter resultFile = new FileWriter(myFilePath); 
               PrintWriter myFile = new PrintWriter(resultFile); 
               String strContent = fileContent; 
               myFile.println(strContent);
               resultFile.close(); 
    
           } 
           catch (Exception e) { 
               System.out.println("新建目录操作出错"); 
               e.printStackTrace(); 
    
           } 
    
       } 
    
       /** 
         * 删除文件 
         * @param filePathAndName String 文件路径及名称 如c:/text.txt 
         * @param fileContent String 
         * @return boolean 
         */ 
       public static void delFile(String filePathAndName) { 
           try { 
               String filePath = filePathAndName; 
               filePath = filePath.toString(); 
               java.io.File myDelFile = new java.io.File(filePath); 
               myDelFile.delete(); 
    
           } 
           catch (Exception e) { 
               System.out.println("删除文件操作出错"); 
               e.printStackTrace(); 
    
           } 
    
       } 
    
       /** 
         * 删除文件夹 
         * @param filePathAndName String 文件夹路径及名称 如c:/text 
         * @param fileContent String 
         * @return boolean 
         */ 
       public static void delFolder(String folderPath) { 
           try { 
               delAllFile(folderPath); //删除完里面所有内容 
               String filePath = folderPath; 
               filePath = filePath.toString(); 
               java.io.File myFilePath = new java.io.File(filePath); 
               myFilePath.delete(); //删除空文件夹 
    
           } 
           catch (Exception e) { 
               System.out.println("删除文件夹操作出错"); 
               e.printStackTrace(); 
    
           } 
    
       } 
    
       /** 
         * 删除文件夹里面的所有文件 
         * @param path String 文件夹路径 如 c:/text 
         */ 
       public static void delAllFile(String path) { 
           File file = new File(path); 
           if (!file.exists()) { 
               return; 
           } 
           if (!file.isDirectory()) { 
               return; 
           } 
           String[] tempList = file.list(); 
           File temp = null; 
           for (int i = 0; i < tempList.length; i++) { 
               if (path.endsWith(File.separator)) { 
                   temp = new File(path + tempList[i]); 
               } 
               else { 
                   temp = new File(path + File.separator + tempList[i]); 
               } 
               if (temp.isFile()) { 
                   temp.delete(); 
               } 
               if (temp.isDirectory()) { 
                   delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件 
                   delFolder(path+"/"+ tempList[i]);//再删除空文件夹 
               } 
           } 
       } 
    
       /** 
         * 复制单个文件 
         * @param oldPath String 原文件路径 如:c:/text.txt 
         * @param newPath String 复制后路径 如:f:/text.txt 
         * @return boolean 
         */ 
       public static void copyFile(String oldPath, String newPath) { 
           try { 
               int bytesum = 0; 
               int byteread = 0; 
               File oldfile = new File(oldPath); 
               if (oldfile.exists()) { //文件存在时 
                   InputStream inStream = new FileInputStream(oldPath); //读入原文件 
                   FileOutputStream fs = new FileOutputStream(newPath); 
                   byte[] buffer = new byte[1444]; 
                   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(); 
    
           } 
    
       } 
    
       /** 
         * 复制整个文件夹内容 
         * @param oldPath String 原文件路径 如:c:/text 
         * @param newPath String 复制后路径 如:f:/text/ff 
         * @return boolean 
         */ 
       public static void copyFolder(String oldPath, String newPath) { 
    
           try { 
               (new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹 
               File a=new File(oldPath); 
               String[] file=a.list(); 
               File temp=null; 
               for (int i = 0; i < file.length; i++) { 
                   if(oldPath.endsWith(File.separator)){ 
                       temp=new File(oldPath+file[i]); 
                   } 
                   else{ 
                       temp=new File(oldPath+File.separator+file[i]); 
                   } 
    
                   if(temp.isFile()){ 
                       FileInputStream input = new FileInputStream(temp); 
                       FileOutputStream output = new FileOutputStream(newPath + "/" + 
                               (temp.getName()).toString()); 
                       byte[] b = new byte[1024 * 5]; 
                       int len; 
                       while ( (len = input.read(b)) != -1) { 
                           output.write(b, 0, len); 
                       } 
                       output.flush(); 
                       output.close(); 
                       input.close(); 
                   } 
                   if(temp.isDirectory()){//如果是子文件夹 
                       copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]); 
                   } 
               } 
           } 
           catch (Exception e) { 
               System.out.println("复制整个文件夹内容操作出错"); 
               e.printStackTrace(); 
    
           } 
    
       } 
    
       /** 
         * 移动文件到指定目录 
         * @param oldPath String 如:c:/text.txt 
         * @param newPath String 如:d:/text.txt 
         */ 
       public static void moveFile(String oldPath, String newPath) { 
           copyFile(oldPath, newPath); 
           delFile(oldPath); 
    
       } 
    
       /** 
         * 移动文件夹到指定目录 
         * @param oldPath String 如:c:/text.txt 
         * @param newPath String 如:d:/text.txt 
         */ 
       public static void moveFolder(String oldPath, String newPath) { 
           copyFolder(oldPath, newPath); 
           delFolder(oldPath); 
    
       }
       
       /**
        * 删除文件中特定内容(txt)
        * @param filePath String 如:c:/text.txt 
        * @param delContent String 如:"123456"
        */
       public static void delFileConcent(String filePath,String delContent) {
    	   try { 
    		   BufferedReader br = new BufferedReader(new FileReader(filePath));
    		   String rowtxt = null;
               List < String > list = new ArrayList < String > ();
               while ((rowtxt = br.readLine()) != null) {
                   if (rowtxt != null && !"".equals(rowtxt) && !"null".equals(rowtxt)) {
                	   rowtxt=rowtxt.replace(delContent, "");
                       list.add(rowtxt);
                   }
               }
               filePath = filePath.toString(); 
               File myFilePath = new File(filePath); 
               if (!myFilePath.exists()) { 
            	   myFilePath.createNewFile(); 
               } 
               FileWriter resultFile = new FileWriter(myFilePath); 
               PrintWriter myFile = new PrintWriter(resultFile); 
               String strContent = "";
               for(int i = 0;i < list.size(); i++){
            	   strContent = list.get(i);
            	   if(!"<<<*>>>".equals(strContent)){
            		   myFile.println(strContent);        		   
            	   }
               }
               resultFile.close(); 
           } 
           catch (Exception e) { 
               System.out.println("操作出错"); 
               e.printStackTrace(); 
    
           } 
    	   
       }
       
       /**
        * 修改文件内容
        * @param filePath 文件地址
        * @param oldContent 修改前内容 String
        * @param newContent 修改后内容 String
        */
       public static void updateFileConcent(String filePath,String oldContent,String newContent) {
    	   try { 
    		   BufferedReader br = new BufferedReader(new FileReader(filePath));
    		   String rowtxt = null;
               while ((rowtxt = br.readLine()) != null) {
                   if (rowtxt != null && !"".equals(rowtxt) && !"null".equals(rowtxt)) {
                	   rowtxt=rowtxt.replace(oldContent, newContent);
                   }
               }
           } 
           catch (Exception e) { 
               System.out.println("修改操作出错"); 
               e.printStackTrace(); 
    
           } 
       }
       
       /**
        * 删除文件夹中文件(txt)
        * @param folderPath String 如:c:/text
        * @param delContent String 如:"123456"
        */
       public static void delFolderConcent(String folderPath,String delContent) {
    	   File file=new File(folderPath);
           if(file!=null){
               if(file.isDirectory()){
                   File fi[]=file.listFiles();
                   if(fi!=null){
                   for(int i=0;i<fi.length;i++){
                       if(fi[i].isDirectory()){
                    	   delFolderConcent(folderPath, null);
                       }else{
    		               try {
    		                   RandomAccessFile  read=new RandomAccessFile(fi[i], "r");
    		                   String line1=read.readLine();
    		                     if(line1.indexOf(delContent)==-1){  
    		                         fi[i].deleteOnExit(); 
    		                     }
    		                   System.out.println(line1);
    		                   read.close();
    		                   
    		               } catch (Exception e) {
    		            	   System.out.println("操作出错"); 
    		                   e.printStackTrace();
    		               }
    
                       	}
                   	}
                   }else{
                	   System.out.println(file);
                   }
              }
           }      
       }
       
       /**
        * 全级搜索文件列表
        * @param Path 文件位置 如:F:\\text\\
     * @return 
        */
       public static List searchAllFile(String Path){
    	   Set fileNameSet = FileOperate.searchFolder(Path);
           // 符合条件的文件路径
           List resultFile=new ArrayList();
           
           TreeSet treeSet = new TreeSet(fileNameSet);
           for(Iterator i = treeSet.iterator(); i.hasNext();) {
               String filePath = i.next().toString();
               filePath = filePath.replaceAll("\\\\", "\\\\\\\\");
               resultFile.add(filePath);         
           }
           return resultFile;
       }
       
       /**
        * 单级搜索文件列表
        * @param folderPath 文件位置 如 F:\\text\\
        * @return
        */
       public static HashSet searchFolder(String folderPath){
    	   File file = new File(folderPath);
    	   List fileList = listAllFiles(file);
    	   HashSet fileName = new HashSet(fileList.size());
    	   for(int i = 0; i < fileList.size();i++){
    		   File file2 = (File) fileList.get(i);
    		   boolean add = fileName.add(file2.getAbsolutePath());
    	   }
    	   return fileName;
    	   
       }
       
       /**
        * 搜索文件子方法
        * searchFolder 方法的附属方法 
        * @param directory
        * @return 
        */
       private static List listAllFiles(File directory) {
           if(directory == null || !directory.isDirectory()) {
               return null;
           }
           List fileList = new ArrayList();
           addSubFileList(directory, fileList);
    
           return fileList;
       }
    
       /**
        * 搜索文件子方法
        * searchFolder 方法的附属方法 
        * @param file 
        * @param fileList
        */
       private static void addSubFileList(File file, List fileList) {
           File[] subFileArray = file.listFiles();
           if(subFileArray == null || subFileArray.length == 0) {
               return;
           }
           for(int i = 0; i < subFileArray.length; i++) {
               File subFile = subFileArray[i];
               if(subFile == null) {
                   continue;
               }
               if(subFile.isFile()) {
                   fileList.add(subFile);
                   continue;
               }else if(subFile.isDirectory()) {
                   addSubFileList(subFile, fileList);
               }
           }
       }
       
       
       
       
       /**
        * 全级搜索文件及内容列表p
        * @param Path 文件位置 如:F:\\text\\
     * @return 
        */
       public static List searchAllFileAndContext(String Path){
           String content = "";// 某个文件的内容	   	
           String encoding = "utf8";// 设置读取文件内容时的文件编码
    	   Set fileNameSet = FileOperate.searchFolder(Path);
           // 符合条件的文件路径
           List resultFile=new ArrayList();       
           TreeSet treeSet = new TreeSet(fileNameSet);
           for(Iterator i = treeSet.iterator(); i.hasNext();) {
               String filePath = i.next().toString();
               filePath = filePath.replaceAll("\\\\", "\\\\\\\\");
    //           System.out.println(filePath);
               try {
            	   String lastName = filePath.substring(filePath.lastIndexOf(".")+1);  	   
            	   if(lastName.indexOf("txt")!=-1){
            		   content = SearchStr.readTxt(filePath, encoding);        		   
    //        		   System.out.println("文件里面的内容:");
    //        		   System.out.println(content);
            	   }
            	   if(!"".equals(content)){
            		   resultFile.add(filePath+"\n文件里面的内容:\n"+content);
            	   }else{
            		   resultFile.add(filePath);
            	   }
               }catch(IOException e) {
                   e.printStackTrace();
               }
           }
           return resultFile;
       }
    }

    展开全文
  • 以下实例演示了使用 delete() 方法文件删除:import java.io.*; public class Main{ public static void main(String[] args) { try{ File file = new File("c:\\test.txt"); if(file.delet...

        以下实例演示了使用 delete() 方法将文件删除:

    import java.io.*;
     
    public class Main
    {
        public static void main(String[] args)
        {
            try{
                File file = new File("c:\\test.txt");
                if(file.delete()){
                    System.out.println(file.getName() + " 文件已被删除!");
                }else{
                    System.out.println("文件删除失败!");
                }
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }

        以上代码运行输出结果为(需要在 C 盘上先创建 test.txt 文件):

    test.txt 文件已被删除!
    展开全文
  • File文件的一些基本方法和操作

    万次阅读 2017-08-15 20:09:21
    1.File对象对应你磁盘上的一个文件或者文件夹(路径),一个file对象代表了一个文件或者文件夹的引用,并不是直接物理上的。2.File.separator: 连接符 public static final String separator与系统相关的默认名称 - ...

    1.File对象对应你磁盘上的一个文件或者文件夹(路径),一个file对象代表了一个文件或者文件夹的引用,并不是直接物理上的。

    2.File.separator: 连接符
    public static final String separator与系统相关的默认名称 - 分隔符字符,以方便的方式表示为字符串。 该字符串包含一个字符,即separatorChar 。 (public static final char separatorChar与系统相关的默认名称分隔符。 该字段被初始化为包含系统属性值file.separator的第一个file.separator 。 在UNIX系统上,该字段的值为’/’ ; 在Microsoft Windows系统上是’\’ 。 )

    3.创建File实例对象的几种方式
    第一种:

        File file = new File("D:\\abc.txt");
        System.out.println(file);

    第二种:

    // parent  前面的路径   chid  在parent 后面追加的目录
            File file2 = new File("D:\\c", "abc.txt");
            System.out.println(file2);

    第三种:

           File  parent = new File("D:\\d");
            File file3 = new  File(parent, "qwe.doc");
            System.out.println(file3);

    4.创建文件

    //返回的是否创建成功
        try {
                boolean flag = file.createNewFile();
                System.out.println(flag);
            } catch (IOException e) {
                e.printStackTrace();
            }

    5.判断文件是否可读写canRead() canWrite()

            System.out.println(file.canRead());
            // 判断文件是否可写
            System.out.println(file.canWrite());

    6 . 判断文件是否存在exists(), 如果不存在则 创建, 存在则不创建了

    if(!file2.exists()){// 判断文件是否存在
                try {
                    file2.createNewFile();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }else{
                System.out.println("已经存在了 ");
            }

    7 .创建文件夹 单层mkdir()

            String string = "D:\\d";
            File file = new File(string);
            boolean flag = file.mkdir();// 创建文件夹  单层
            System.out.println(flag);

    8 .利用mkdirs 可以同时创建多层目录

    File file2 = new File("D:\\d\\a\\c\\w");
            file2.mkdirs();// 利用mkdirs 可以同时创建多层目录

    9 . 如何区分 文件或者是 文件夹

          if(file2.isDirectory()){// 判断是否是文件夹
                System.out.println("是文件夹");
            }
            if(file3.isFile()){
                System.out.println("是文件");
            }

    10 . 删除指定文件

            File file2 = new File("D:\\d\\a\\c\\w");    
            File file3 = new File(file2, "abc.txt");
            boolean flag2 = file3.delete();
            System.out.println(flag2);

    11 .length()判断文件的长度 而非文件夹的长度 ,返回long类型的

            long l = file3.length();
            System.out.println(l);

    12 .得到路径

    File file = new File("D:\\d\\a\\c\\w\\abc.txt");
            System.out.println(file.getPath());// 得到路径

    13 .System.out.println(file.getParent());// 得到 文件的父目录

    14 . System.out.println(file.getParentFile());// 得到 文件的父目录 返回的是File对象

    15 .// 重命名 被其他 占用的时候 就不能重命名成功

        File file3 = new File("D:\\d\\a\\c\\w\\hehe.txt");
            boolean flag = file.renameTo(file3);
            System.out.println(flag);

    16.将文件过滤掉,文件夹保留

    package com.qf.demo2;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    /**
     * list()  返回 指定目录  下的   所有 的  目录和文件的名字   String[]
     * list(FilenameFilter filter)  得到的所有的名字 进行对应的过滤
     * 
     * 
     * 
     * listFiles()   返回 指定目录  下的   所有 的  目录和文件的   file 对象表现形式  File[]
     * listFiles(FilenameFilter filter)  得到的所有的名字 进行对应的过滤
     * 
     */
    public class Test4 {
    
        public static void main(String[] args) {
    
            //File file = new  File("D\\java上课内容\\2015新版PPT":);
            File file = new File("D:\\java上课内容");
            String[] strings = file.list();
            /*for (String string : strings) {
                System.out.println(string);
            }
            File[] files = file.listFiles();
            for (File file2 : files) {
                System.out.println(file2);
            }*/
    
    
            String[] strings2 = file.list(new MyFilter());
            for (String string : strings2) {
                System.out.println(string);
            }
    
            File[] file2 = file.listFiles(new MyFilter());
            for (File file3 : file2) {
                System.out.println(file3);
            }
    
        }
    }
    
    class MyFilter implements FilenameFilter{
    
        // dir 指定的目录        name 是 dir 指定目录下的文件或者是文件夹的名字
        public boolean accept(File dir, String name) {      
    //      if(name.endsWith(".txt")){
    //          return false;
    //      }
            // 假如是  文件   就 过滤掉, 如果是文件夹 , 就保留
            //  D:\\java上课内容      \\   java新版ppt
            File file = new File(dir,name);
            if(file.isFile()){
                return false;
            }
    
    
            return true;// 返回ture 证明 保留下来的
                        // 返回 false 要被过滤掉的
        }
    
    }
    

    17 .得到指定文件夹下的所有的文件

    package com.qf.demo2;
    
    import java.io.File;
    
    /**
     * 递归
     * 自己调用自己
     * 以此类推
     * 同性质的问题  范围缩小, 直到 结果 可以直接的出来
    
     需求: 得到指定文件夹下的所有的文件
    
    
    计算 指定文件夹  所有文件 和 文件夹的个数
    
     */
    public class Test5 {
    
        public static void main(String[] args) {
    
            findFile(new File("D:\\java上课内容"));
        }
    
        // 得到 指定文件夹下一层的所有的文件和文件
        // // 如果是文件  打印输出, 如果文件夹 
    
        public static void  findFile(File file){// 既可以代表文件也可以代表文件夹
            // 保证非空
            if(file != null){
                // 保证是文件夹
                if(!file.isFile()){
                    // 得到文件夹下的文件或者是 文件夹了
                    File[] files = file.listFiles();// 新版ppt  ppt  .pptx
                    for (File file2 : files) {// 把所有的文件和文件夹遍历一遍
                            findFile(file2);// 无论是文件还是文件夹 都可以调用  此方法
                    }
                }else{
                    System.out.println(file);
                }
            }else{
                System.out.println("闹着玩呢??????");
            }
        }
    }
    
    展开全文
  • C#中File类的文件操作方法

    千次阅读 2016-11-30 18:24:39
    静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件File方法的参量很多时候都是路径path。File的一些方法可以返回FileStream和StreamWriter的对象。可以和他们...
  • File 类 操作实例

    2015-04-28 14:20:48
    也就是说,File类没有指定信息怎样从文件读取或向文件存储;它描述了文件本身的属性。File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径。此外,File还浏览子目录层次结构。很多程序中...
  • 在pipeline2.5以及后续版本本中,在Jenkinsfile中已经有了对于Docker的内置支持,Jenkinsfile中通过docker{}来指定可以使用的容器。这篇文章以如何在Jenkinsfile中使用Maven镜像为例进行相关说明。
  • File文件类常用API

    2018-08-25 16:47:52
    1、File 类的构造方法 a、File(String pathname) 通过给定的路径创建一个新的file类实例 ... 通过parent路径构造一个新的file实例[可以理解为二级目录] c、File (String parent,String child) ...
  • 详述java的File类常用方法

    千次阅读 多人点赞 2019-08-21 17:17:27
    File类: File类代表一个特定的文件或者目录(文件夹),并提供了若干方法对该文件或目录...2、File(File parent, String child):根据父目录路径File实例和子目录或文件路径创建一个新 File 实例。 3、File(String ...
  • File类的常用方法

    2019-07-30 14:47:27
    File类的常用的方法 public statuc final String filePah=new File("文件的路径");(例如C:\\test\\java.txt) ... 通过将给定路径的字符串来创建一个表示对应文件File实例 exists() 判断此...
  • bootstrap File Input 多文件上传插件使用记录(二)删除文件转自https://blog.csdn.net/github_36086968/article/details/72830855 在上一篇文章中,主要介绍了...
  • 在使用slf4j的logback实现时,使用TimeBasedRollingPolicy根据时间滚动日志策略并使用RollingFileAppender进行日志滚动,多进程共用同一个日志文件时,会出现较多xxxxxx.tmp文件删除的情况。 出现tmp文件的条件:...
  • 微软官方免费数据恢复工具Windows File Recovery Windows File Recovery是由微软推出的一款免费的文件数据恢复工具,这款工具可以用来恢复那些被删除文件,或者从格式化或损坏的硬盘、储存卡中恢复文件
  • Java文件类以抽象的方式代表文件名和目录路径名,定义了一些与平台无关的方法来操作文件,可以通过调用File类中的方法,实现创建、删除、重命名文件等。File对象代表磁盘中实际存在的文件和目录. 构造方法: File...
  • 在操作文件之前必须创建一个指向文件的链接或者实例化一个文件对象,也可以指定一个不存在的文件从而创建它。Java 中的 File 类是文件和目录路径名的抽象形式。使用 File 类可以获取文件本身的一些信息,例如文件...
  • File类支持对文件的基本操作,包括对文件创建、复制、删除、移动和打开灯静态方法,并协助创建FileStream对象。其为静态类,它对应的这个文件系统进行操作,方法均为静态方法。属性:DerictoryName绝对路径名、...
  • 【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题...Java 世界中【万物皆对象】,如何将一个实际磁盘文件或目录对应到一.
  • 【Java】File类及方法

    2019-05-15 15:18:06
    该类主要用于文件和目录的创建、文件的查找和文件删除等。 字段名 static String pathSeparator 与系统相关的路径分隔符字符,为方便起见,表示为字符串。 static char pathSeparatorChar 与系统相关的路径分隔符...
  • java文件操作类——File

    千次阅读 2018-07-28 17:20:00
    创建File实例:public File(String pathname) 创建空文件:public boolean createNewFile() throws IOException 其中,要注意的是,windows下的路径分割符是"\",linux下的是"/",当我们在...
  • 用于读取、写入和浏览文件系统层次结构的API。对象: DirectoryEntry DirectoryReader File FileEntry FileError FileReader FileSystem FileTransfer FileTransferError FileUploadOptions FileUpload...
  • 小何讲Linux: 基本文件操作和实例

    千次阅读 2016-05-06 20:52:52
    open()函数是用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。 close()函数是用于关闭一个被打开的文件。当一个进程终止时,所有被它打开的文件都由内核自动关闭,很多程序都使用...
  • NIO中的File文件操作

    千次阅读 2017-08-26 19:13:27
    之前的两篇文章http://blog.csdn.net/holmofy/article/details/75269866, http://blog.csdn.net/holmofy/article/details/77429957分别对传统IO对文件的基本操作以及读写...这些API在java.nio.file以及它的子包jav...
  • File类的概述和构造方法 A:File类的概述 查看API 文件和目录路径名的抽象表示形式 这个File类可以用来表示文件,也可以用来表示目录 B:构造方法 File(String pathname):根据一个路径得到File对象 File(String parent...
  • 创建File对象和其常见方法

    千次阅读 2019-08-21 17:47:15
    File类创建的对象可以指带路径下的文件和路径下的目录: 1、指代目录 2、指代文件 package io; import java.io.File; public class Learn { public static void main(String[] args) { File file =new ...
  • java——File文件操作全解

    千次阅读 2017-05-10 14:51:19
    JAVA使用File类对文件进行操作。在很多教程中,我们会同时学到File类和类似FileInputStream这样的流,非常容易将两者混淆。实际上只要掌握了他们的工作原理就不难理解,File类以操作文件的属性和状态为主,而IO流以...
  • java的文件File操作

    千次阅读 2006-01-04 15:30:00
    import java.io.*;import java.net.*;import java.util.*;//import javax.swing.filechooser.*;...* 所有方法都是静态方法,不需要生成此类的实例,* 为避免生成此类的实例,构造方法被申明为private类型的。* @s
  • File

    千次阅读 2018-08-11 11:57:41
    作用:对文件本身进行直接操作,像删除、创建、重命名,判断文件是否存在,查询文件的最后修改时间等。  实例文件对象 方法声明 功能描述 File(String pathname) 根据路径名来创建新的File对象 Fi...
  • 查看/proc/devices 文件可以获知系统中注册的设备,第 1 列为主设备号,第 2 列为设备名,主设备号是与驱动对应的概念,同一类设备一般使用相同的主设备号,不同类的设备一般使用不同的主设备号(但...
  • Linux设备文件(Device file

    万次阅读 多人点赞 2018-03-31 17:30:09
    Linux设备文件(Device file) 设备文件概述在类Unix操作系统中,设备文件或特殊文件是设备驱动程序的接口,出现在文件系统中就好像它是普通文件一样。在MS-DOS,OS / 2和Microsoft Windows中也有特殊文件。 这些...
  • Javascript 文件操作 Javascript File 对象

    千次阅读 2019-08-07 20:22:52
    Javascript 文件操作 Javascript File 对象 一、功能实现核心:FileSystemObject 对象 要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。 二、FileSystemObject编程 使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 168,943
精华内容 67,577
关键字:

删除file实例所对应文件的方法是