aboutsummaryrefslogtreecommitdiffstats
path: root/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/common/FileUtil.java
diff options
context:
space:
mode:
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.java54
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;
+ }
}