diff options
Diffstat (limited to 'vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/common/FileUtil.java')
-rw-r--r-- | vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/common/FileUtil.java | 54 |
1 files changed, 46 insertions, 8 deletions
diff --git a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/common/FileUtil.java b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/common/FileUtil.java index 777080f1..4b008395 100644 --- a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/common/FileUtil.java +++ b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/common/FileUtil.java @@ -17,8 +17,11 @@ package org.onap.vnfsdk.marketplace.common; import java.io.BufferedOutputStream; import java.io.File; +import java.io.FileFilter; 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.util.ArrayList; @@ -30,8 +33,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.gson.Gson; import com.google.gson.stream.JsonReader; -import java.io.FileWriter; -import java.io.FileReader; + import java.nio.file.Files; import java.nio.file.Paths; @@ -73,12 +75,12 @@ public final class FileUtil { boolean isFileDeleted=false; try { if (file.exists()){ - Files.delete(Paths.get(file.getPath())); - fileAbsPath = file.getAbsolutePath(); - logger.info("delete {} {}" ,hintInfo, fileAbsPath); + Files.delete(Paths.get(file.getPath())); + fileAbsPath = file.getAbsolutePath(); + logger.info("delete {} {}" ,hintInfo, fileAbsPath); } else{ - logger.info("file not exist. no need delete {} {}" ,hintInfo , fileAbsPath); + logger.info("file not exist. no need delete {} {}" ,hintInfo , fileAbsPath); } isFileDeleted=true; @@ -118,7 +120,7 @@ public final class FileUtil { } try (InputStream input = zipFile.getInputStream(entry); - BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));) { + BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));) { int length = 0; while ((length = input.read(buffer)) != -1) { bos.write(buffer, 0, length); @@ -188,7 +190,7 @@ public final class FileUtil { public static boolean deleteDirectory(File file) { if (!file.exists()) { - return true; + return true; } if (file.isDirectory()) { for (File f : file.listFiles()) { @@ -246,4 +248,40 @@ public final class FileUtil { return true; } + + /** + * Search file in folder + * @param folder + * @param keyword + * @return + */ + public static List<File> searchFiles(File folder, String keyword) { + List<File> result = new ArrayList<File>(); + if (folder.isFile()) + result.add(folder); + + File[] subFolders = folder.listFiles(new FileFilter() { + @Override + public boolean accept(File file) { + if (file.isDirectory()) { + return true; + } + if (file.getName().toLowerCase().contains(keyword)) { + return true; + } + return false; + } + }); + + if (subFolders != null) { + for (File file : subFolders) { + if (file.isFile()) { + result.add(file); + } else { + result.addAll(searchFiles(file, keyword)); + } + } + } + return result; + } } |