Advertisement
Guest User

Untitled

a guest
May 27th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.37 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7. using System.Text.RegularExpressions;
  8.  
  9. namespace _20_Jay_Project
  10. {
  11. class Class1
  12. {
  13. private static string pathImages = @"C:\Users\Student\Desktop\20_Jay_Project\20_Jay_Project\ProjectSource\images";
  14. private static string pathText = @"C:\Users\Student\Desktop\20_Jay_Project\20_Jay_Project\ProjectSource\text";
  15. int counter = 1;
  16. int counterSort = 0;
  17. String number = "No";
  18. String nameAndLocation = "Name and location of file";
  19. string TypeOfFile = "Type of file";
  20. string Abnormal = "Abnormal File Detected";
  21. string line1 = "=";
  22. string line2 = "========================";
  23. string line3 = "==========";
  24. private static Dictionary<string, string> MIMETypesDictionary = new Dictionary<string, string>
  25. {
  26. {"ai", "application/postscript"},
  27. {"aif", "audio/x-aiff"},
  28. {"aifc", "audio/x-aiff"},
  29. {"aiff", "audio/x-aiff"},
  30. {"asc", "text/plain"},
  31. {"atom", "application/atom+xml"},
  32. {"au", "audio/basic"},
  33. {"avi", "video/x-msvideo"},
  34. {"bcpio", "application/x-bcpio"},
  35. {"bin", "application/octet-stream"},
  36. {"bmp", "image/bmp"},
  37. {"cdf", "application/x-netcdf"},
  38. {"cgm", "image/cgm"},
  39. {"class", "application/octet-stream"},
  40. {"cpio", "application/x-cpio"},
  41. {"cpt", "application/mac-compactpro"},
  42. {"csh", "application/x-csh"},
  43. {"css", "text/css"},
  44. {"dcr", "application/x-director"},
  45. {"dif", "video/x-dv"},
  46. {"dir", "application/x-director"},
  47. {"djv", "image/vnd.djvu"},
  48. {"djvu", "image/vnd.djvu"},
  49. {"dll", "application/octet-stream"},
  50. {"dmg", "application/octet-stream"},
  51. {"dms", "application/octet-stream"},
  52. {"doc", "application/msword"},
  53.  
  54. {"docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
  55.  
  56. {"dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"},
  57.  
  58. {"docm","application/vnd.ms-word.document.macroEnabled.12"},
  59. {"dotm","application/vnd.ms-word.template.macroEnabled.12"},
  60. {"dtd", "application/xml-dtd"},
  61. {"dv", "video/x-dv"},
  62. {"dvi", "application/x-dvi"},
  63. {"dxr", "application/x-director"},
  64. {"eps", "application/postscript"},
  65. {"etx", "text/x-setext"},
  66. {"exe", "application/octet-stream"},
  67. {"ez", "application/andrew-inset"},
  68. {"gif", "image/gif"},
  69. {"gram", "application/srgs"},
  70. {"grxml", "application/srgs+xml"},
  71. {"gtar", "application/x-gtar"},
  72. {"hdf", "application/x-hdf"},
  73. {"hqx", "application/mac-binhex40"},
  74. {"htm", "text/html"},
  75. {"html", "text/html"},
  76. {"ice", "x-conference/x-cooltalk"},
  77. {"ico", "image/x-icon"},
  78. {"ics", "text/calendar"},
  79. {"ief", "image/ief"},
  80. {"ifb", "text/calendar"},
  81. {"iges", "model/iges"},
  82. {"igs", "model/iges"},
  83. {"jnlp", "application/x-java-jnlp-file"},
  84. {"jp2", "image/jp2"},
  85.  
  86. {"jpe", "image/jpeg"},
  87. {"jpeg", "image/jpeg"},
  88. {"jpg", "image/jpeg"},
  89. {"js", "application/x-javascript"},
  90. {"kar", "audio/midi"},
  91. {"latex", "application/x-latex"},
  92. {"lha", "application/octet-stream"},
  93. {"lzh", "application/octet-stream"},
  94. {"m3u", "audio/x-mpegurl"},
  95. {"m4a", "audio/mp4a-latm"},
  96. {"m4b", "audio/mp4a-latm"},
  97. {"m4p", "audio/mp4a-latm"},
  98. {"m4u", "video/vnd.mpegurl"},
  99. {"m4v", "video/x-m4v"},
  100. {"mac", "image/x-macpaint"},
  101. {"man", "application/x-troff-man"},
  102. {"mathml", "application/mathml+xml"},
  103. {"me", "application/x-troff-me"},
  104. {"mesh", "model/mesh"},
  105. {"mid", "audio/midi"},
  106. {"midi", "audio/midi"},
  107. {"mif", "application/vnd.mif"},
  108. {"mov", "video/quicktime"},
  109. {"movie", "video/x-sgi-movie"},
  110. {"mp2", "audio/mpeg"},
  111. {"mp3", "audio/mpeg"},
  112. {"mp4", "video/mp4"},
  113. {"mpe", "video/mpeg"},
  114. {"mpeg", "video/mpeg"},
  115. {"mpg", "video/mpeg"},
  116. {"mpga", "audio/mpeg"},
  117. {"ms", "application/x-troff-ms"},
  118. {"msh", "model/mesh"},
  119. {"mxu", "video/vnd.mpegurl"},
  120. {"nc", "application/x-netcdf"},
  121. {"oda", "application/oda"},
  122. {"ogg", "application/ogg"},
  123. {"pbm", "image/x-portable-bitmap"},
  124. {"pct", "image/pict"},
  125. {"pdb", "chemical/x-pdb"},
  126. {"pdf", "application/pdf"},
  127. {"pgm", "image/x-portable-graymap"},
  128. {"pgn", "application/x-chess-pgn"},
  129. {"pic", "image/pict"},
  130. {"pict", "image/pict"},
  131. {"png", "image/png"},
  132. {"pnm", "image/x-portable-anymap"},
  133. {"pnt", "image/x-macpaint"},
  134. {"pntg", "image/x-macpaint"},
  135. {"ppm", "image/x-portable-pixmap"},
  136. {"ppt", "application/vnd.ms-powerpoint"},
  137.  
  138. {"pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"},
  139.  
  140. {"potx","application/vnd.openxmlformats-officedocument.presentationml.template"},
  141.  
  142. {"ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"},
  143.  
  144. {"ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"},
  145.  
  146. {"pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"},
  147.  
  148. {"potm","application/vnd.ms-powerpoint.template.macroEnabled.12"},
  149.  
  150. {"ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"},
  151.  
  152. {"ps", "application/postscript"},
  153. {"qt", "video/quicktime"},
  154. {"qti", "image/x-quicktime"},
  155. {"qtif", "image/x-quicktime"},
  156. {"ra", "audio/x-pn-realaudio"},
  157. {"ram", "audio/x-pn-realaudio"},
  158. {"ras", "image/x-cmu-raster"},
  159. {"rdf", "application/rdf+xml"},
  160. {"rgb", "image/x-rgb"},
  161. {"rm", "application/vnd.rn-realmedia"},
  162. {"roff", "application/x-troff"},
  163. {"rtf", "text/rtf"},
  164. {"rtx", "text/richtext"},
  165. {"sgm", "text/sgml"},
  166. {"sgml", "text/sgml"},
  167. {"sh", "application/x-sh"},
  168. {"shar", "application/x-shar"},
  169. {"silo", "model/mesh"},
  170. {"sit", "application/x-stuffit"},
  171. {"skd", "application/x-koan"},
  172. {"skm", "application/x-koan"},
  173. {"skp", "application/x-koan"},
  174. {"skt", "application/x-koan"},
  175. {"smi", "application/smil"},
  176. {"smil", "application/smil"},
  177. {"snd", "audio/basic"},
  178. {"so", "application/octet-stream"},
  179. {"spl", "application/x-futuresplash"},
  180. {"src", "application/x-wais-source"},
  181. {"sv4cpio", "application/x-sv4cpio"},
  182. {"sv4crc", "application/x-sv4crc"},
  183. {"svg", "image/svg+xml"},
  184. {"swf", "application/x-shockwave-flash"},
  185. {"t", "application/x-troff"},
  186. {"tar", "application/x-tar"},
  187. {"tcl", "application/x-tcl"},
  188. {"tex", "application/x-tex"},
  189. {"texi", "application/x-texinfo"},
  190. {"texinfo", "application/x-texinfo"},
  191. {"tif", "image/tiff"},
  192. {"tiff", "image/tiff"},
  193. {"tr", "application/x-troff"},
  194. {"tsv", "text/tab-separated-values"},
  195. {"txt", "text/plain"},
  196. {"ustar", "application/x-ustar"},
  197. {"vcd", "application/x-cdlink"},
  198. {"vrml", "model/vrml"},
  199. {"vxml", "application/voicexml+xml"},
  200. {"wav", "audio/x-wav"},
  201. {"wbmp", "image/vnd.wap.wbmp"},
  202. {"wbmxl", "application/vnd.wap.wbxml"},
  203. {"wml", "text/vnd.wap.wml"},
  204. {"wmlc", "application/vnd.wap.wmlc"},
  205. {"wmls", "text/vnd.wap.wmlscript"},
  206. {"wmlsc", "application/vnd.wap.wmlscriptc"},
  207. {"wrl", "model/vrml"},
  208. {"xbm", "image/x-xbitmap"},
  209.  
  210. {"xht", "application/xhtml+xml"},
  211. {"xhtml", "application/xhtml+xml"},
  212. {"xls", "application/vnd.ms-excel"},
  213. {"xml", "application/xml"},
  214. {"xpm", "image/x-xpixmap"},
  215. {"xsl", "application/xml"},
  216.  
  217. {"xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
  218.  
  219. {"xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"},
  220.  
  221. {"xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"},
  222. {"xltm","application/vnd.ms-excel.template.macroEnabled.12"},
  223. {"xlam","application/vnd.ms-excel.addin.macroEnabled.12"},
  224.  
  225. {"xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"},
  226.  
  227. {"xslt", "application/xslt+xml"},
  228. {"xul", "application/vnd.mozilla.xul+xml"},
  229. {"xwd", "image/x-xwindowdump"},
  230. {"xyz", "chemical/x-xyz"},
  231. {"zip", "application/zip"}
  232.  
  233. };
  234.  
  235.  
  236. public static string GetMIMEType(string fileName)
  237. {
  238. //get file extension
  239.  
  240. string extension = Path.GetExtension(fileName).ToLowerInvariant();
  241. if ((extension.Length > 0) && (
  242. MIMETypesDictionary.ContainsKey(extension.Remove(0, 1))))
  243. {
  244. return MIMETypesDictionary[extension.Remove(0, 1)];
  245. }
  246. return "unknown/unknown";
  247. }
  248.  
  249. public void DisplayMenu()
  250. {
  251. Console.WriteLine("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
  252. Console.WriteLine("%%%%%%Please select an option.%%%%%%");
  253. Console.WriteLine("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
  254. Console.WriteLine("1.View all files in Image Folder");
  255. Console.WriteLine("2.View all files in Text Folder");
  256. Console.WriteLine("3.View All file");
  257. Console.WriteLine("4.Perform sorting of files to image and text folders");
  258. Console.WriteLine("5.Perform Check on abnormal content in Text file");
  259.  
  260.  
  261. }
  262. public void DescriptionImages()
  263. {
  264. int counter = 1;
  265. DirectoryInfo di = new DirectoryInfo(pathImages);
  266. FileInfo[] fileinfos = di.GetFiles();
  267. Console.WriteLine(String.Format("{0,0} {1,50} {2,69}", number, nameAndLocation, TypeOfFile));
  268. Console.WriteLine(String.Format("{0,0} {1,50} {2,69}", line1, line2, line3));
  269. foreach (FileInfo fi in fileinfos)
  270. {
  271. Console.WriteLine(String.Format("{0,-10} {1,-100} {2,-13}", counter++, fi.FullName, GetMIMEType(fi.Name) + "\n"));
  272.  
  273. }
  274. Console.WriteLine("Completed Scan!" + "\n");
  275.  
  276. int DelCounter = 0;
  277. Console.WriteLine("Do you want to delete file? (Y/N)");
  278. String UserDelete = "";
  279. UserDelete = Console.ReadLine();
  280. if(UserDelete == "Y".ToLower() || UserDelete == "Y".ToUpper())
  281. {
  282. Console.WriteLine("Select file to delete. To delete file, type file No<space>file No. Example: 1 3");
  283. String UserChoice = "";
  284. UserChoice = Console.ReadLine();
  285. string[] SplitChoice = UserChoice.Split(' ');
  286.  
  287. Console.WriteLine("Do you really want to delete? (Y/N)");
  288. string UserDelete2 = Console.ReadLine();
  289. if (UserDelete2 == "Y".ToLower() || UserDelete2 == "Y".ToUpper())
  290. {
  291. DirectoryInfo diDel = new DirectoryInfo(pathImages);
  292. FileInfo[] fi = diDel.GetFiles();
  293. foreach (FileInfo fileDel in fi)
  294. {
  295. DelCounter++;
  296. counter++;
  297. for (int i = 0; i < SplitChoice.Length; i++)
  298. {
  299. if (SplitChoice[i] == Convert.ToString(DelCounter))
  300. {
  301. Console.WriteLine(SplitChoice[i]);
  302. Console.WriteLine(fileDel.FullName);
  303. fileDel.Delete();
  304. }
  305. }
  306. }
  307. }
  308.  
  309. }
  310.  
  311.  
  312. }
  313.  
  314. public void DescriptionText()
  315. {
  316. int counter = 1;
  317. DirectoryInfo di = new DirectoryInfo(pathText);
  318. FileInfo[] fileinfos = di.GetFiles();
  319. Console.WriteLine(String.Format("{0,0} {1,50} {2,69}", number, nameAndLocation, TypeOfFile));
  320. Console.WriteLine(String.Format("{0,0} {1,50} {2,69}", line1, line2, line3));
  321. foreach (FileInfo fi in fileinfos)
  322. {
  323. Console.WriteLine(String.Format("{0,-10} {1,-100} {2,-13}", counter++, fi.FullName, GetMIMEType(fi.Name) + "\n"));
  324. }
  325. Console.WriteLine("Completed Scan!" + "\n");
  326.  
  327. int DelCounter = 0;
  328. Console.WriteLine("Do you want to delete file? (Y/N)");
  329. String UserDelete = "";
  330. UserDelete = Console.ReadLine();
  331. if (UserDelete == "Y".ToLower() || UserDelete == "Y".ToUpper())
  332. {
  333. Console.WriteLine("Select file to delete. To delete file, type file No<space>file No. Example: 1 3");
  334. String UserChoice = "";
  335. UserChoice = Console.ReadLine();
  336. string[] SplitChoice = UserChoice.Split(' ');
  337.  
  338. Console.WriteLine("Do you really want to delete? (Y/N)");
  339. string UserDelete2 = Console.ReadLine();
  340. if (UserDelete2 == "Y".ToLower() || UserDelete2 == "Y".ToUpper())
  341. {
  342. DirectoryInfo diDel = new DirectoryInfo(pathText);
  343. FileInfo[] fi = diDel.GetFiles();
  344. foreach (FileInfo fileDel in fi)
  345. {
  346. DelCounter++;
  347. for (int i = 0; i < SplitChoice.Length; i++)
  348. {
  349. if (SplitChoice[i] == Convert.ToString(DelCounter))
  350. {
  351. Console.WriteLine(SplitChoice[i]);
  352. Console.WriteLine(fileDel.FullName);
  353. fileDel.Delete();
  354.  
  355. }
  356.  
  357. }
  358. }
  359. }
  360. }
  361.  
  362. }
  363. public void DisplayAllFiles()
  364. {
  365. DirectoryInfo diImages = new DirectoryInfo(pathImages);
  366. DirectoryInfo diText = new DirectoryInfo(pathText);
  367.  
  368. Console.WriteLine(String.Format("{0,0} {1,50} {2,69}", number, nameAndLocation, TypeOfFile));
  369. Console.WriteLine(String.Format("{0,0} {1,50} {2,69}", line1, line2, line3));
  370.  
  371. foreach (FileInfo fiImages in diImages.GetFiles())
  372. {
  373. Console.WriteLine(String.Format("{0,-10} {1,-100} {2,-13}", counter++, fiImages.FullName, GetMIMEType(fiImages.Name) + "\n"));
  374. }
  375. foreach (FileInfo fiText in diText.GetFiles())
  376. {
  377. Console.WriteLine(String.Format("{0,-10} {1,-100} {2,-13}", counter++, fiText.FullName, GetMIMEType(fiText.Name) + "\n"));
  378. }
  379. Console.WriteLine("Completed Scan!");
  380.  
  381. }
  382. public void SortFiles()
  383. {
  384.  
  385. DirectoryInfo di = new DirectoryInfo(pathText);
  386. foreach (FileInfo fi in di.GetFiles("*.jpg"))
  387. {
  388. File.Move(fi.FullName, pathImages + @"\" + fi.Name);
  389.  
  390. }
  391.  
  392. DirectoryInfo diText = new DirectoryInfo(pathImages);
  393. foreach (FileInfo fi in diText.GetFiles("*.txt*"))
  394. {
  395. File.Move(fi.FullName, pathText + @"\" + fi.Name);
  396.  
  397. }
  398. foreach (FileInfo fi in diText.GetFiles())
  399. {
  400. counterSort++;
  401. }
  402. foreach (FileInfo fi in di.GetFiles("*.txt*"))
  403. {
  404. counterSort++;
  405. }
  406. Console.WriteLine("Files sorted");
  407. Console.WriteLine("The number of files in both folders is {0}", counterSort);
  408. }
  409. public void AbnormalCheck()
  410. {
  411. Regex pattern = new Regex(@"[a-zA-Z0-9]{30,32}");
  412. DirectoryInfo di = new DirectoryInfo(pathText);
  413. Console.WriteLine(String.Format("{0,0} {1,50} {2,89}", number, nameAndLocation, Abnormal));
  414. Console.WriteLine(String.Format("{0,0} {1,50} {2,83}", line1, line2, line3));
  415. foreach (FileInfo fi in di.GetFiles("*.txt"))
  416. {
  417. String nameOfFiles = pathText + @"\" +fi.Name;
  418. StreamReader files = new StreamReader(nameOfFiles);
  419. while ((nameOfFiles = files.ReadLine()) != null)
  420. {
  421. Match AbnormalFiles = pattern.Match(nameOfFiles);
  422. if (AbnormalFiles.Success)
  423. {
  424. Console.WriteLine(String.Format("{0,-10} {1,-100} {2,-13}", counter++, fi.FullName, AbnormalFiles + "\n"));
  425. }
  426. }
  427. }
  428. }
  429. }
  430. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement