Guest User

Untitled

a guest
Jul 19th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1.  
  2. import java.io.File;
  3. import java.io.BufferedWriter;
  4. import java.io.FileWriter;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.Scanner;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10. import java.util.*;
  11.  
  12. public class naloga05 {
  13.  
  14. static List<String> global = new ArrayList<String>();
  15. static int counter = 0;
  16.  
  17. static void izbor(String args[]){
  18.  
  19. du(args[1]);
  20. counter=0;
  21. global.clear();
  22.  
  23. }
  24.  
  25. static String[] getTabeloDatotek(String dir){
  26.  
  27. File f = new File (dir);
  28. String[] list = f.list();
  29.  
  30. for (int i = 0; i<list.length; i++){
  31. global.add(dir + File.separator + list[i]+"\n");
  32. if (new File(dir + File.separator + list[i]).isDirectory()){
  33. getTabeloDatotek(dir + File.separator + list[i]);
  34. }
  35. }
  36. String [] nw = new String[global.size()];
  37. global.toArray(nw);
  38. return nw;
  39. }
  40.  
  41.  
  42. static void du(String dir)
  43. {
  44. getTabeloDatotek(dir);
  45. double vsota = 0.0;
  46. for(int i=0;i<global.size();i++)
  47. {
  48. File dat=new File(global.toArray()[i].toString());
  49. if(dat.isFile())
  50. vsota+=dat.length();
  51. }
  52. System.out.println("velikost datoteke "+ vsota/1024.0 +" kB");
  53. }
  54.  
  55. static void grep(String dir, String iskaniNiz){
  56. getTabeloDatotek(dir);
  57. int hit=0;
  58. for (int i=0;i<global.size();i++)
  59. {
  60. File dat = new File(global.toArray()[i].toString());
  61. if(dat.isFile()&& dat.canRead())
  62. {
  63. int ln=1;
  64. Scanner read= new Scanner(dat);
  65. while(read.hasNextLine())
  66. {
  67. String line=read.nextLine().toUpperCase();
  68. //System.out.println(beseda);
  69. if(line.contains(iskaniNiz.toUpperCase()))
  70. {
  71. String[] word=line.split(" ");
  72. System.out.printf(ln+" vrstica v " +dat+ "\n");
  73. ln++;
  74. for(int j=0;j<word.length;j++)
  75. {
  76. if(word[j].contains(iskaniNiz.toUpperCase()))
  77. hit++;
  78. }
  79. }
  80. }
  81. }
  82. }
  83. System.out.println("stevilo zadetkov " + hit);
  84. }
  85.  
  86. public static void main(String args[]) {
  87.  
  88.  
  89. String ime = "c:\\Users\\Rok\\Desktop\\javaTest\\delo\\test";
  90. // System.out.printf("%s", Arrays.toString(getTabeloDatotek(ime)));
  91. izbor(args);
  92. }
  93.  
  94. }
Add Comment
Please, Sign In to add comment