1
파일을 찾을 수 없다는 오류가 58 행에 표시되지만 PrintStream이 파일을 생성하지 않아야합니까? (참고 : 파일이 전혀 생성되지 않습니다.)PrintStream이 파일을 생성하지 않습니까?
고마워요!
import java.io.*;
import java.util.*;
import java.text.*;
public class DownloadsFolderCleanup {
public static String directory = "C:\\Users\\User\\Downloads";
public static void main(String[] args) throws FileNotFoundException {
File[] files = (new File(directory)).listFiles();
if (files.length - 1 == 0) {
System.out.println("Downloads folder is already empty!");
}
else {
ArrayList<File> markedFiles = new ArrayList<File>();
int numInstallers = 0, numIncompleteDownloads = 0;
for (File file : files) {
String fileName = file.getName();
if (fileName.substring(fileName.length() - 4,fileName.length()).equals(".exe")) {
if (fileName.toLowerCase().contains("install") || fileName.toLowerCase().contains("setup")) {
markedFiles.add(file);
numInstallers++;
System.out.println('"' + fileName + '"' + " marked for deletion. Reason: Installer");
}
}
if (fileName.length() > 22) {
if (fileName.substring(0,11).equals("Unconfirmed") && fileName.substring(fileName.length() - 11, fileName.length()).equals(".crdownload")) {
markedFiles.add(file);
numIncompleteDownloads++;
System.out.println('"' + fileName + '"' + " marked for deletion. Reason: Incomplete download");
}
}
}
System.out.println("- - - - - - - - - - - - - - - - - - - -");
System.out.println("Total # of files scanned: " + (files.length - 1));
System.out.println("Total # of junk files found: " + markedFiles.size());
System.out.println("Installers found: " + numInstallers);
System.out.println("Incomplete download files found: " + numIncompleteDownloads);
if (markedFiles.size() == 0) {
System.out.println("No junk files were found!");
}
else {
System.out.print("Please confirm removal of all identified files. CANNOT BE UNDONE! Y/N: ");
Scanner input = new Scanner(System.in);
if (input.nextLine().equalsIgnoreCase("Y")) {
System.out.println("All marked files will be permanently deleted in 5 seconds.");
for (int c = 4; c > 0; c--) {
sleep1second();
System.out.println(c + "...");
}
sleep1second();
DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
Date date = new Date();
PrintStream log = new PrintStream(new File(dateFormat.format(date) + " Download Folder Cleanup Log.txt"));
for (File file : markedFiles) {
System.out.println('"' + file.getName() + '"' + " deleted.");
file.delete();
log.println(file.getName());
}
log.close();
}
}
}
System.out.println();
System.out.println("Cleanup process complete!");
}
public static void sleep1second() {
try {
Thread.sleep(1000);
}
catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
}
그래 : 윈도우에서
는 문자를 금지 다음과 같습니다. 나는 금단의 문자들을 잊었다. 감사합니다. – Locke다행 : D –