added support for war archive

This commit is contained in:
Radek Davidek 2026-01-28 14:30:45 +01:00
parent 5a12aae30a
commit 26d2f339fe
2 changed files with 4 additions and 4 deletions

View File

@ -793,14 +793,14 @@ public class FileOperations {
private static boolean isArchiveFile(File f) {
if (f == null) return false;
String n = f.getName().toLowerCase();
return n.endsWith(".zip") || n.endsWith(".jar") || n.endsWith(".tar") || n.endsWith(".tar.gz") || n.endsWith(".tgz") || n.endsWith(".7z") || n.endsWith(".rar");
return n.endsWith(".war") || n.endsWith(".zip") || n.endsWith(".jar") || n.endsWith(".tar") || n.endsWith(".tar.gz") || n.endsWith(".tgz") || n.endsWith(".7z") || n.endsWith(".rar");
}
private static void searchInArchiveCombined(File archive, String patternLower, Pattern filenameRegex, Pattern contentPattern, SearchCallback callback) {
if (callback != null && callback.isCancelled()) return;
String name = archive.getName().toLowerCase();
try {
if (name.endsWith(".zip") || name.endsWith(".jar")) {
if (name.endsWith(".zip") || name.endsWith(".jar") || name.endsWith(".war")) {
try (ZipInputStream zis = new ZipInputStream(new FileInputStream(archive))) {
ZipEntry entry;
while ((entry = zis.getNextEntry()) != null) {

View File

@ -1244,7 +1244,7 @@ public class FilePanelTab extends JPanel {
private boolean isArchiveFile(File f) {
if (f == null) return false;
String n = f.getName().toLowerCase();
return n.endsWith(".zip") || n.endsWith(".jar") || n.endsWith(".tar") || n.endsWith(".tar.gz") || n.endsWith(".tgz") || n.endsWith(".7z") || n.endsWith(".rar");
return n.endsWith(".war") || n.endsWith(".zip") || n.endsWith(".jar") || n.endsWith(".tar") || n.endsWith(".tar.gz") || n.endsWith(".tgz") || n.endsWith(".7z") || n.endsWith(".rar");
}
private Path extractArchiveToTemp(File archive) {
@ -1253,7 +1253,7 @@ public class FilePanelTab extends JPanel {
try {
Path tempDir = Files.createTempDirectory("kfmanager-archive-");
if (name.endsWith(".zip") || name.endsWith(".jar")) {
if (name.endsWith(".zip") || name.endsWith(".jar") || name.endsWith(".war")) {
extractZip(archive, tempDir);
} else if (name.endsWith(".tar.gz") || name.endsWith(".tgz")) {
extractTarGz(archive, tempDir);