Commit 095d8da3 authored by Rina Sergeeva's avatar Rina Sergeeva

in process

parent b8e4c2d6
......@@ -52,6 +52,12 @@
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>eu.medsea.mimeutil</groupId>
<artifactId>mime-util</artifactId>
<version>2.1.3</version>
</dependency>
</dependencies>
......
......@@ -7,12 +7,16 @@ import java.util.List;
public class FileSearcher {
private static FileSearcher instance;
private FileMonitor monitor = new FileMonitor();
private FileMonitor monitor;
private List<File> monitoredFiles = new ArrayList<>();
private int filesFound;
public List<File> prepareFiles(File root) {
// monitor.start();
// monitor.registerDir(root);
filesFound = 0;
// monitor = new FileMonitor();
// monitor.start();
// monitor.registerDir(root);
List<File> foundedFiles = scanDirectory(root);
foundedFiles.addAll(monitoredFiles);
// monitor.stopMonitoring();
......@@ -27,28 +31,18 @@ public class FileSearcher {
if (file.isDirectory()) {
monitor.registerDir(file);
files.addAll(scanDirectory(file));
} else if(getFileExtension(file).equals("zip")){
UnzipUtil unzipUtil = new UnzipUtil();
unzipUtil.unzipArchive(file);
} else if(UnzipUtil.isZip(file)){
UnzipUtil.unzipArchive(file);
} else
{
files.add(file);
filesFound++;
}
}
}
return files;
}
private static String getFileExtension(File file) {
String fileName = file.getName();
// если в имени файла есть точка и она не является первым символом в названии файла
if(fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0)
// то вырезаем все знаки после последней точки в названии файла, то есть ХХХХХ.txt -> txt
return fileName.substring(fileName.lastIndexOf(".")+1);
// в противном случае возвращаем заглушку, то есть расширение не найдено
else return "";
}
public static synchronized FileSearcher getInstance() {
if (instance == null) {
instance = new FileSearcher();
......@@ -66,4 +60,9 @@ public class FileSearcher {
public void removeFile(File file) {
monitoredFiles.remove(file);
}
public int getTotal() {
return filesFound;
}
}
package application.util;
import eu.medsea.mimeutil.MimeUtil;
import java.io.*;
import java.util.Collection;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class UnzipUtil {
public void unzipArchive(File archive) {
public static void unzipArchive(File archive) {
//String archiveDir = archive.getAbsolutePath();
// File destinationDir = new File(destinationPath);
......@@ -43,8 +46,10 @@ public class UnzipUtil {
}
public boolean isZip(File file) {
public static boolean isZip(File file) {
MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector");
Collection<?> mimeTypes = MimeUtil.getMimeTypes(file);
System.out.println(mimeTypes);
return true;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment