Skip to main content

File searching in your system through in Java

File searching through java
Input    : File Name and the directory to which searching
Output : List of files

Main Class :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.rakesh.codetalk.fileSearch;

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.util.ArrayList;

/**
 * @author Rakesh KR
 * @since  December 2K14
 */
public class FileSearchBO {
 
 public static void main(String argv[]) throws Exception{
  
  FileSearchDTO fileSearchDTO = new FileSearchDTO();
  FileSearchDAO fileSearchDAO = new FileSearchDAO();
  BufferedReader br           = new BufferedReader(new InputStreamReader(System.in));
  
  System.out.println("Enter the fileName to be searched : ");
  fileSearchDTO.setFileNameToSearch(br.readLine());
  
  System.out.println("Enter the directory to which search : ");
  fileSearchDAO.search(new File(br.readLine()), fileSearchDTO , new ArrayList<String>());
  
  if(fileSearchDTO.getResultFileList()!=null && !fileSearchDTO.getResultFileList().isEmpty()){
   
   System.out.println("\n\nFile Founded At : ");
   
   for(String files : fileSearchDTO.getResultFileList()){

    System.out.println(" "+files);

   }
  } else{
   System.out.println("Error : "+fileSearchDTO.getStatusString());
  }
  
 }
 
}


Supporting Classes :
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.rakesh.codetalk.fileSearch;

import java.io.File;
import java.util.List;

/**
 * @author Rakesh KR
 * @since  December 2K14
 */
public class FileSearchDAO {
 
 public void search(File searchFile, FileSearchDTO fileSearchDTO , List<String> resultFileList){
  
  try{
      
   if(searchFile!=null){
    
    if(searchFile.isDirectory()){
     
     if(searchFile.canRead()){
      
      for(File file : searchFile.listFiles()){
       
       System.out.println(file);
       
       if(file.isDirectory()){
        search(file, fileSearchDTO, resultFileList);
       } else{
        if(fileSearchDTO.getFileNameToSearch().equalsIgnoreCase(file.getName())){
         resultFileList.add(file.getAbsolutePath());
        }
       }
       
      }
      
     } else{
      fileSearchDTO.setStatusString("No Permission to Read !!! File : "+searchFile.getAbsoluteFile());
     }
     
    } else{
     fileSearchDTO.setStatusString("Not a Directory !!! File : "+searchFile.getAbsoluteFile());
    }
    
   } else{
    fileSearchDTO.setStatusString("No such File !!! ");
   }
   
   if(resultFileList!=null && !resultFileList.isEmpty()){
    fileSearchDTO.setResultFileList(resultFileList);
    fileSearchDTO.setStatusString("File Searching Success !!! ");
   }
   
  } catch(Exception e){
   fileSearchDTO.setStatusString("Error in File Searching !!! ");
   e.printStackTrace();
  } finally{
   
   resultFileList = null;
   
  }
  
 }

}



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.rakesh.codetalk.fileSearch;

import java.io.File;
import java.util.List;

/**
 * @author Rakesh KR
 * @since  December 2K14
 */
public class FileSearchDTO {
 
 private File file;
 
 private String statusString;
 
 private String fileNameToSearch;
 
 private List<String> resultFileList;
 
 
 /**
  * @return the file
  */
 public File getFile() {
  return file;
 }

 /**
  * @param file the file to set
  */
 public void setFile(File file) {
  this.file = file;
 }

 /**
  * @return the statusString
  */
 public String getStatusString() {
  return statusString;
 }

 /**
  * @param statusString the statusString to set
  */
 public void setStatusString(String statusString) {
  this.statusString = statusString;
 }

 /**
  * @return the fileNameToSearch
  */
 public String getFileNameToSearch() {
  return fileNameToSearch;
 }

 /**
  * @param fileNameToSearch the fileNameToSearch to set
  */
 public void setFileNameToSearch(String fileNameToSearch) {
  this.fileNameToSearch = fileNameToSearch;
 }

 /**
  * @return the resultFileList
  */
 public List<String> getResultFileList() {
  return resultFileList;
 }

 /**
  * @param resultFileList the resultFileList to set
  */
 public void setResultFileList(List<String> resultFileList) {
  this.resultFileList = resultFileList;
 } 
  
}


Output Sample :
Enter the fileName to be searched : 
Rakesh.txt
Enter the directory to which search : 
/media/rakesh/WorkZ/WorkZ/CodeTalk/

/media/rakesh/WorkZ/WorkZ/CodeTalk/Short URL
/media/rakesh/WorkZ/WorkZ/CodeTalk/JAVA
/media/rakesh/WorkZ/WorkZ/CodeTalk/JAVA/What is the difference between JVM, JDK & JRE
/media/rakesh/WorkZ/WorkZ/CodeTalk/JAVA/Why we Pass String array as argument to main method [JAVA]
/media/rakesh/WorkZ/WorkZ/CodeTalk/JAVA/Rakesh.txt
/media/rakesh/WorkZ/WorkZ/CodeTalk/Linux
/media/rakesh/WorkZ/WorkZ/CodeTalk/Linux/Installing Java 7 on Ubuntu .txt
/media/rakesh/WorkZ/WorkZ/CodeTalk/Linux/Install Google Chrome.txt
/media/rakesh/WorkZ/WorkZ/CodeTalk/Linux/Rakesh.txt
/media/rakesh/WorkZ/WorkZ/CodeTalk/Images
/media/rakesh/WorkZ/WorkZ/CodeTalk/Images/copy of Ct-logo-small.png
/media/rakesh/WorkZ/WorkZ/CodeTalk/Images/Ct-logo-small.png
/media/rakesh/WorkZ/WorkZ/CodeTalk/Images/CodeTalk2.png
/media/rakesh/WorkZ/WorkZ/CodeTalk/Images/jvm_jre_jdk.jpg
/media/rakesh/WorkZ/WorkZ/CodeTalk/Images/CCCCCCCCC.jpg
/media/rakesh/WorkZ/WorkZ/CodeTalk/Images/CodeTalk.jpg
/media/rakesh/WorkZ/WorkZ/CodeTalk/Images/Ct-logo-big.png


File Founded At : 
 /media/rakesh/WorkZ/WorkZ/CodeTalk/JAVA/Rakesh.txt
 /media/rakesh/WorkZ/WorkZ/CodeTalk/Linux/Rakesh.txt

Comments

Popular posts from this blog

System.out.println In Java

System  is a class in the  java .lang package.  out  is a static member of the  System  class, and is an instance of  java .io.PrintStream .  println  is a method of  java .io.PrintStream . This method is overloaded to print message to output destination, which is typically a console or file. System is a class, that has a public static field out . So it's more like. public final class System { /** * The "standard" output stream. This stream is already * open and ready to accept output data. Typically this stream * corresponds to display output or another output destination * specified by the host environment or user. * <p> * For simple stand-alone Java applications, a typical way to write * a line of output data is: * <blockquote><pre> * System.out.println(data) * </pre></blockquote> * <p> * See the <code>println...

JSON (JavaScript Object Notation)

JSON (JavaScript Object Notation) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other serializable values). It is a common data format with diverse uses in electronic data interchange, including that of web applications with servers. JSON is a language-independent data format. It was derived from JavaScript, but many modern programming languages include code to generate and parse JSON-format data. JSON filenames use the extension .json. Any valid JSON file is a valid JavaScript (.js) file, even though it makes no changes to a web page on its own. Douglas Crockford originally specified the JSON format in the early 2000s. He and Chip Morningstar sent the first JSON message in April 2001. Official website :- https://json.org/

Amazon DynamoDB : Fully managed proprietary NoSQL database service

 Amazon DynamoDB is a fully managed proprietary NoSQL database service that supports key–value and document data structures and is offered by Amazon.com as part of the Amazon Web Services portfolio. Dynamo had a multi-leader design requiring the client to resolve version conflicts and DynamoDB uses synchronous replication across multiple data centers for high durability and availability.  DynamoDB was announced by Amazon CTO Werner Vogels on January 18, 2012, and is presented as an evolution of Amazon SimpleDB. DynamoDB differs from other Amazon services by allowing developers to purchase a service based on throughput, rather than storage. If Auto Scaling is enabled, then the database will scale automatically. To prevent data loss, DynamoDB features a two-tier backup system of replication and long-term storage. Each partition features three nodes, each of which contains a copy of that partition's data. Each node also contains two data structures: a B tree used to locate items,...