Не получается удалить старые файлы в папке через JSP по дате. Имеется класс для удаления файлов (DeleteFile.java) и два JSP. Первый JSP (index.jsp), основная страница, где имеется поле для ввода пути папки и поле для ввода количества дней (сколько дней назад был создан файл). Второй JSP (deletefile.jsp) должен выводить список файлов, которые были удалены.
P.S. И как добавить функцию удаления по определенному типу файла, допустим .txt.
DeleteFile.java
import java.io.File;
public class DeleteFile {
public static void deleteFiles(String daysBack, String dirWay) {
File f = new File(dirWay);
if(f.isDirectory()){
File[] listFiles = f.listFiles();
long timeAgo = System.currentTimeMillis() - (Integer.parseInt(daysBack) * 24 * 60 * 60 * 1000);
for(File listFile : listFiles) {
if(listFile.lastModified() < timeAgo) {
if(!listFile.delete()) {
System.err.println("Файл удален: " + listFile);
}
}
}
} else {
System.out.println("Файлы не найдены");
}
}
}
index.jsp
<!DOCTYPE HTML>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page language="java"
contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>mainpage</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<center>Stub</center>
<br>
<form action="deletefile.jsp" method="POST" >
Удалить файлы: <input type="text" name="text" >
Создан дней назад: <input type="number" name="timeago">
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
deletefile.jsp
<!DOCTYPE HTML><%@page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page import="ru.sbrf.asfs.stub.stubsUtils.DeleteFile"%>
<%@page import="java.util.List"%>
<% DeleteFile delfile = new DeleteFile();
String fileName = request.getParameter("text");
String timeAgo = request.getParameter("timeago");
delfile.deleteFiles(timeAgo, fileName);
%>
<html>
<head>
<title>Deletepage</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
</body>
</html>
попробуйте больше логать, например выдавать все файлы которые проверяются
for(File listFile : listFiles) {
System.out.println("checking file: " + listFile.getAbsolutePath() + "; lastModified=" + listFile.lastModified());
// etc
PS: фильтровать файлы можно с помощью FileFilter или FilenameFilter
File[] listFiles = f.listFiles(path -> path.getName().endsWith(".txt"));
Виртуальный выделенный сервер (VDS) становится отличным выбором
Хочу реализовать следующее - при достижении определенной секции на сайте, например "<div id="client"></div>", менялся фон на сайтеПока делаю простенький...
На новых Super Retina Display (Iphone X) растровый пиксель (bitmap pixel) так же умножается на 4?