desktopCleanLibraryFilesFro.../src/se/mmk/app/LibraryFileCleaner.java

72 lines
1.5 KiB
Java

package se.mmk.app;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class LibraryFileCleaner {
String newDirectory;
String currentWd;
public static void main(String[] args) {
new LibraryFileCleaner().run();
}
public void run() {
try {
currentWd = Paths.get(".").toAbsolutePath().normalize().toString();
List<String> libFileNames = getLibraryFileNames();
removeFiles(libFileNames);
}
catch (Exception e) {
//...
}
}
private List<String> getLibraryFileNames() throws IOException{
List<String> fileNames = new ArrayList<>();
FileReader fReader = new FileReader(new File("C:\\Creo_Export\\Creo6-Setting\\Others\\LibraryFiles.txt"));
BufferedReader bReader = new BufferedReader(fReader);
String line = bReader.readLine();
while (!line.isEmpty()) {
String fName = line.toString().substring(line.toString().lastIndexOf('\\'));
if(fName.length() < 2)
continue;
fileNames.add(fName.substring(2));
line = bReader.readLine();
if(line == null)
break;
}
bReader.close();
return fileNames;
}
private void removeFiles(List<String> libFileNames) {
File wdPath = new File(currentWd);
Arrays.asList(wdPath.listFiles()).forEach(f->{
if(f.isFile()) {
for (String fName : libFileNames) {
if(f.getName().contains(fName)) {
f.delete();
}
}
}
});
}
}