hogyan listázzuk a formátumokat – Teljes Detektálási Útmutató
Próbált már Java‑ban dokumentumot feldolgozni, és a könyvtár nem támogatja a konkrét formátumot? Nem egyedül van. A fájlformátum‑kompatibilitás gyakran okoz váratlan hibákat, amelyek gyorsabban szétboríthatják a projektet, mint egy UnsupportedFileException.
Az hogyan listázzuk a formátumokat ismerete elengedhetetlen a robusztus dokumentumfeldolgozó rendszerek építéséhez. Legyen szó dokumentumkezelő platformról, fájl‑konverziós szolgáltatásról vagy egyszerűen csak java dokumentum feltöltés ellenőrzés‑ről, a programozott formátum‑detektálás megakadályozza a futásidejű meglepetéseket és a felhasználói elégedetlenséget.
Ebben az útmutatóban megtudja, hogyan ellenőrizze a fájlformátumot java‑ban, hogyan szerezze meg a fájltípusokat java‑ban, és hogyan integrálja ezeket a valós Java‑alkalmazásokba a GroupDocs.Comparison segítségével.
Gyors válaszok
- Mi a fő módszer a formátumok listázására?
FileType.getSupportedFileTypes()visszaadja az összes formátumot, amelyet az aktuális könyvtárverzió kezelni tud. - Szükség van licencre az API használatához? Igen – fejlesztéshez ingyenes próba vagy ideiglenes licenc, éles környezethez pedig kereskedelmi licenc szükséges.
- Cache‑elhetem a formátumlistát? Természetesen – a cache csökkenti a formátum‑metaadatok egyszeri betöltésének költségét.
- A formátumdetektálás szálbiztos? Igen, a GroupDocs API szálbiztos; csak ügyeljen arra, hogy saját cache‑ei is kezeljék a konkurenciát.
- A lista változik a könyvtárfrissítésekkel? Az új kiadások gyakran új formátumokat adnak hozzá; frissítse a cache‑et a verzióváltás után, hogy naprakész legyen.
Miért fontos a fájlformátum‑detektálás Java‑alkalmazásokban?
A támogatott formátumok korai felismerése megakadályozza a futásidejű hibákat, csökkenti a felesleges CPU‑ciklusokat, és lehetővé teszi a felhasználók számára az azonnali visszajelzést arról, milyen fájlokat tölthetnek fel. A kompatibilitás ellenőrzése már a nehéz feldolgozás előtt segít a szolgáltatás válaszkészségét és a hibanaplók tisztaságát megőrizni.
Gyakori helyzetek, ahol a formátumdetektálás megmenti a napot:
- Feltöltés ellenőrzése – elutasítja a nem támogatott fájlokat már a peremen.
- Kötegelt feldolgozás – kihagyja azokat a fájlokat, amelyek hibát okoznának, így a köteg élve marad.
- API integráció – egyértelmű hibaüzeneteket ad vissza a generikus 500‑asok helyett.
- Erőforrás‑tervezés – a CPU‑t és a memóriát a formátumok ismert jellemzői alapján becsülheti.
- Felhasználói élmény – a fájlválasztókban megjeleníti a támogatott kiterjesztések tömör listáját.
Üzleti hatás
Az intelligens formátumdetektálás nem csak technikai kényelem – közvetlenül befolyásolja a profitot:
- Kevesebb támogatási jegy: A felhasználók előre tudják, mi működik.
- Jobb erőforrás‑kihasználás: Csak kompatibilis fájlokat dolgoz fel, így a CPU más feladatokra szabadul fel.
- Növekvő elégedettség: A világos visszajelzés megszünteti a frusztrációt.
- Gyorsabb fejlesztési ciklusok: A korai ellenőrzés már a QA előtt kiszűri a hibákat.
Előfeltételek és beállítási követelmények
Amire szüksége lesz
Fejlesztői környezet
- Java Development Kit (JDK) 8 vagy újabb
- Maven vagy Gradle a függőségkezeléshez
- Kedvenc IDE-je (IntelliJ IDEA, Eclipse, VS Code)
Tudás‑előfeltételek
- Alapvető Java szintaxis és OOP koncepciók
- Maven/Gradle projektstruktúrák ismerete
- Java kivételkezelés megértése
Könyvtári függőségek
- GroupDocs.Comparison for Java (megmutatjuk, hogyan adja hozzá)
Ne aggódjon, ha még sosem használta a GroupDocs‑ot – minden lépést részletesen bemutatunk.
A GroupDocs.Comparison beállítása Java‑hoz
Miért a GroupDocs.Comparison?
A GroupDocs.Comparison 70+ bemeneti és kimeneti formátumot támogat, a klasszikus Office‑fájloktól a CAD‑rajzokig és e‑mail archívumokig. Egyetlen, konzisztens API‑t kínál, így nem kell több könyvtárat kezelnie.
Maven telepítés
Adja hozzá a következő tárolót és függőséget a pom.xml‑hez:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/comparison/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-comparison</artifactId>
<version>25.2</version>
</dependency>
</dependencies>
Gradle beállítás
Gradle‑használók számára adja hozzá a következőt a build.gradle‑hez:
repositories {
maven {
url 'https://releases.groupdocs.com/comparison/java/'
}
}
dependencies {
implementation 'com.groupdocs:groupdocs-comparison:25.2'
}
Licenc‑konfigurációs lehetőségek
Fejlesztéshez
- Ingyenes próba – tökéletes értékeléshez, hitelkártya nélkül.
- Ideiglenes licenc – teljes funkcionalitás a fejlesztési fázisban.
Éles környezethez
- Kereskedelmi licenc – kötelező minden élő telepítéshez.
Pro tipp: Kezdje az ingyenes próbával, ellenőrizze, hogy minden szükséges formátum szerepel-e, majd a kód befejezésekor váltson ideiglenes licencre.
Hogyan listázzuk a formátumokat
Hívja meg egyszer a FileType.getSupportedFileTypes()‑t az alkalmazás indításakor, cache‑elje a visszakapott gyűjteményt, és használjon HashSet<String>‑et az O(1) keresésekhez a bejövő fájlok validálásakor. Ezzel az API‑val elkerülheti a kézzel írt listákat, és biztosíthatja a kompatibilitást a jövőbeli könyvtárfrissítésekkel. Ez az egyetlen soros hívás egy teljes, verzió‑pontos listát ad minden olyan formátumról, amelyet a GroupDocs.Comparison kezel.
A fő implementáció
A FileType osztály a GroupDocs.Comparison egyetlen fájlformátumának reprezentációja, amely tartalmazza a kiterjesztést, a MIME‑típust és a képesség‑zászlókat.
import com.groupdocs.comparison.result.FileType;
// Retrieve the iterable collection of supported file types
Iterable<FileType> fileTypes = FileType.getSupportedFileTypes();
// Iterate over each file type in the collection
for (FileType fileType : fileTypes) {
// Print out the file type to demonstrate retrieval
System.out.println(fileType);
}
// Indicate successful retrieval of supported file types
System.out.println("\nSupported file types retrieved successfully.");
A kód megértése
Mi történik itt
FileType.getSupportedFileTypes()egyIterable<FileType>‑t ad vissza, amely tartalmazza a könyvtár által ismert összes formátumot.- Minden
FileTypeobjektum elérhető tulajdonságokkal rendelkezik, példáulgetExtension(),getMimeType()ésisSupportedForComparison(). - A ciklus egyszerűen kiírja minden formátum kiterjesztését és egy rövid leírását.
A megközelítés fő előnyei
- Futásidejű felfedezés – nincs karbantartandó kézi lista.
- Verzió‑kompatibilitás – a lista mindig a használt JAR pontos képességeit tükrözi.
- Dinamikus validálás – a validálási logikát közvetlenül az API‑kimenetből építheti fel.
Bővített implementáció szűréssel
Éles környezetben gyakran kell szűrni a formátumokat (pl. csak a comparison‑hez támogatottakat vagy csak irodai dokumentumokat). Az alábbi minta bemutatja, hogyan építsen egy szűrt Set<String>‑et, amelyet a kódbázisban újra‑használhat.
import com.groupdocs.comparison.result.FileType;
import java.util.*;
public class FormatDetector {
public static Map<String, List<String>> categorizeFormats() {
Map<String, List<String>> categories = new HashMap<>();
categories.put("Documents", new ArrayList<>());
categories.put("Spreadsheets", new ArrayList<>());
categories.put("Presentations", new ArrayList<>());
categories.put("Images", new ArrayList<>());
categories.put("Other", new ArrayList<>());
Iterable<FileType> fileTypes = FileType.getSupportedFileTypes();
for (FileType fileType : fileTypes) {
String extension = fileType.getExtension().toLowerCase();
String category = determineCategory(extension);
categories.get(category).add(extension);
}
return categories;
}
private static String determineCategory(String extension) {
if (extension.matches("\\.(doc|docx|pdf|txt|rtf)")) {
return "Documents";
} else if (extension.matches("\\.(xls|xlsx|csv)")) {
return "Spreadsheets";
} else if (extension.matches("\\.(ppt|pptx)")) {
return "Presentations";
} else if (extension.matches("\\.(jpg|jpeg|png|gif|bmp)")) {
return "Images";
}
return "Other";
}
}
Gyakori beállítási problémák és megoldások
Probléma 1: Függőség‑feloldási hibák
Tünet: Maven/Gradle nem találja a GroupDocs tárolót vagy a csomagokat.
Megoldás
- Ellenőrizze, hogy a hálózata engedélyezi a kimenő HTTPS‑kapcsolatot a
repo.groupdocs.comfelé. - Ellenőrizze a tároló‑URL helyesírását.
- Vállalati környezetben adja hozzá a tárolót a belső Nexus vagy Artifactory tükrehez.
Gyors javítás
<!-- Add to Maven settings.xml if repository access is restricted -->
<mirrors>
<mirror>
<id>central-proxy</id>
<mirrorOf>*</mirrorOf>
<url>http://your-corporate-nexus/repository/maven-public/</url>
</mirror>
</mirrors>
Probléma 2: Licenc‑validációs hibák
Tünet: Az alkalmazás fut, de licenc‑figyelmeztetéseket naplóz, vagy korlátozza a funkciókat.
Megoldás
- Helyezze a
.licfájlt a classpath‑ra (pl.src/main/resources). - Győződjön meg róla, hogy a licenc nem járt le, és a termékverzióval megegyezik.
- Próbaverzió esetén ne felejtse el, hogy 30 nap után lejár.
Licenc‑betöltő kódrészlet
// Load license at application startup
License license = new License();
license.setLicense("path/to/GroupDocs.Comparison.lic");
Probléma 3: ClassNotFoundException futásidőben
Tünet: A kód lefordul, de futásidőben hiányzó osztályhibát dob.
Gyakori okok
- Ütköző transzitiv függőségek (pl. egy másik könyvtár régebbi
commons-loggingverziót húz). - Olyan JDK‑verzió használata, amely alacsonyabb, mint a könyvtár minimumkövetelménye.
Hibakeresési lépések
- Futtassa a
mvn dependency:tree‑t (vagygradle dependencies) a konfliktusok felderítéséhez. - Bizonyosodjon meg róla, hogy JDK 8 vagy újabb van használatban.
- Szükség esetén zárja ki a problémás transzitiv függőséget.
Probléma 4: Teljesítményproblémák nagy formátumlistákkal
Tünet: Az első getSupportedFileTypes() hívás észrevehetően lassabb, mint a későbbi hívások.
Megoldás: Cache‑elje az eredményt egy szálbiztos singletonban (pl. EnumMap vagy ConcurrentHashMap használatával). A lista a JVM élettartama alatt nem változik, így az egyszeri betöltés megszünteti az ismételt reflexiós költséget.
public class FormatCache {
private static volatile List<FileType> cachedFormats;
public static List<FileType> getSupportedFormats() {
if (cachedFormats == null) {
synchronized (FormatCache.class) {
if (cachedFormats == null) {
cachedFormats = new ArrayList<>();
FileType.getSupportedFileTypes().forEach(cachedFormats::add);
}
}
}
return cachedFormats;
}
}
Integrációs minták valós alkalmazásokhoz
Minta 1: Feltöltés előtti validálás
Ideális webalkalmazásokhoz, amelyeknek check file format java‑t kell végezniük, mielőtt a fájl elérné a szervert.
public class FileUploadValidator {
private static final Set<String> SUPPORTED_EXTENSIONS =
getSupportedExtensions();
public boolean isSupported(String filename) {
String extension = getExtension(filename).toLowerCase();
return SUPPORTED_EXTENSIONS.contains(extension);
}
private static Set<String> getSupportedExtensions() {
Set<String> extensions = new HashSet<>();
FileType.getSupportedFileTypes().forEach(
type -> extensions.add(type.getExtension().toLowerCase())
);
return extensions;
}
private String getExtension(String filename) {
int lastDot = filename.lastIndexOf('.');
return lastDot > 0 ? filename.substring(lastDot) : "";
}
}
Minta 2: Kötegelt feldolgozás szűrt formátumokkal
Amikor batch process file formats‑t kell végrehajtani, ez a minta elegánsan kihagyja a nem támogatott fájlokat, és naplózza őket későbbi átnézéshez.
public class BatchProcessor {
public ProcessingResult processBatch(List<File> files) {
Map<String, List<File>> categorized = categorizeFiles(files);
ProcessingResult result = new ProcessingResult();
result.setProcessedFiles(processSupported(categorized.get("supported")));
result.setSkippedFiles(categorized.get("unsupported"));
return result;
}
private Map<String, List<File>> categorizeFiles(List<File> files) {
Set<String> supportedExts = getSupportedExtensions();
return files.stream().collect(
Collectors.groupingBy(file ->
supportedExts.contains(getExtension(file.getName()))
? "supported" : "unsupported"
)
);
}
}
Minta 3: REST API formátuminformáció
Kínáljon egy list supported file types végpontot, hogy a kliensalkalmazások dinamikusan megjeleníthessék a megengedett kiterjesztéseket.
@RestController
@RequestMapping("/api/formats")
public class FormatController {
@GetMapping("/supported")
public ResponseEntity<List<FormatInfo>> getSupportedFormats() {
List<FormatInfo> formats = new ArrayList<>();
FileType.getSupportedFileTypes().forEach(type -> {
formats.add(new FormatInfo(
type.getExtension(),
type.getFileFormat(),
determineDescription(type)
));
});
return ResponseEntity.ok(formats);
}
@GetMapping("/check/{extension}")
public ResponseEntity<SupportInfo> checkFormat(@PathVariable String extension) {
boolean supported = isFormatSupported(extension);
return ResponseEntity.ok(new SupportInfo(extension, supported));
}
}
Legjobb gyakorlatok éles környezetben
Memóriakezelés
Cache‑eljék bölcsen: Tárolja a támogatott formátumlistát egy static final mezőben vagy dedikált cache‑szolgáltatóban (pl. Caffeine). A metaadat csak néhány kilobájt, de az ismételt reflexió jelentős overhead‑ot okozhat.
// Good: Initialize once, use many times
private static final List<FileType> SUPPORTED_FORMATS =
StreamSupport.stream(FileType.getSupportedFileTypes().spliterator(), false)
.collect(Collectors.toList());
// Avoid: Calling getSupportedFileTypes() repeatedly
Hiba‑kezelés
Graceful degradation: Ha a formátumdetektálás meghiúsul (pl. sérült JAR miatt), térjen vissza egy minimális, kézzel írt listához, és naplózzon figyelmeztetést. Soha ne engedje, hogy a kivétel a felhasználói felületig terjedjen.
public boolean isFormatSupported(String filename) {
try {
String extension = getExtension(filename);
return SUPPORTED_FORMATS.stream()
.anyMatch(type -> type.getExtension().equalsIgnoreCase(extension));
} catch (Exception e) {
// Log the error but don't fail the operation
logger.warn("Format check failed for: " + filename, e);
return false; // Conservative approach
}
}
Teljesítményoptimalizálás
Lusta inicializálás: Töltse be a formátumlistát csak az első, ténylegesen igénylő kéréskor. Ez csökkenti a mikro‑szolgáltatások indulási idejét, amelyek esetleg soha nem dolgoznak dokumentumokkal.
public class LazyFormatChecker {
private volatile boolean initialized = false;
private Set<String> supportedExtensions;
public boolean isSupported(String extension) {
ensureInitialized();
return supportedExtensions.contains(extension.toLowerCase());
}
private void ensureInitialized() {
if (!initialized) {
synchronized (this) {
if (!initialized) {
loadSupportedExtensions();
initialized = true;
}
}
}
}
}
Konfigurációkezelés
Külső formátumkorlátozások: Tartson egy application.yml vagy properties fájlt, amely felsorolja az engedélyezett kiterjesztéseket üzleti egységenként. Így a szabályváltoztatás kódújrahúzás nélkül is megvalósítható.
# application.yml
document-processing:
allowed-formats:
- pdf
- docx
- xlsx
max-file-size: 10MB
validation-mode: strict
Haladó felhasználási esetek és alkalmazások
Vállalati dokumentumkezelés
Nagy szervezetek gyakran igényelnek részlegspecifikus engedélylistákat. A FileType metaadatok és a szerepkör‑alapú hozzáférés kombinálásával finomhangolt szabályokat hozhat létre, például: „A jogi osztály csak PDF‑et és DOCX‑et tölthet fel, míg a marketing PPTX‑et is szabadon használhat”.
Felhő‑tároló integráció
AWS S3, Azure Blob vagy Google Drive szinkronizálásakor szűrje ki a nem támogatott formátumokat letöltés előtt. Ez csökkenti a sávszélesség‑használatot és a tárolási költségeket.
Automatizált munkafolyamat‑rendszerek
Az üzleti folyamat‑automatizálás a formátum alapján irányíthatja a dokumentumokat. Például egy szerződés‑ellenőrző workflow csak DOCX‑et fogad, míg egy számlafeldolgozó pipeline PDF‑et, XLSX‑et és CSV‑t engedélyez.
Teljesítmény‑szempontok és optimalizáció
Memóriahasználat optimalizálása
Az összes formátum‑metaadat betöltése memóriában alacsony költségű (≈ 5 KB). Ha több mikro‑szolgáltatás fut korlátozott konténerben, tegyen:
- Lusta betöltést csak szükség esetén.
- Szelektív cache‑t – csak a ténylegesen támogatott formátumokat (pl. irodai dokumentumok).
- WeakReference cache‑t, hogy a JVM szabad memóriát tudjon visszanyerni nyomás alatt.
CPU‑teljesítmény tippek
- Használjon
HashSet<String>‑et a cache‑elt kiterjesztésekből a konstans‑idő kereséshez. - Pre‑kompilálja a fájlnév‑validáláshoz használt reguláris kifejezéseket.
- Nagy kötegelt feladatok esetén dolgozzon párhuzamos stream‑ekkel (
parallelStream()) az I/O‑korlátok betartásával.
// Efficient format validation
private static final Set<String> SUPPORTED_EXTENSIONS =
Collections.unmodifiableSet(loadSupportedExtensions());
public boolean isSupported(String extension) {
return SUPPORTED_EXTENSIONS.contains(extension.toLowerCase());
}
Skálázási szempontok
- Alkalmazásindítás: Inicializálja a formátumlistát egy Spring bean
@PostConstructmetódusában. - Elosztott cache‑k: Klaszterben ossza meg a listát Redis vagy Hazelcast segítségével, hogy minden csomópont ne töltse be külön.
- Kapcsolat‑poolok: Ha külső szolgáltatásokat hív további validáláshoz, használjon pool‑t (pl. HikariCP) a késleltetés alacsonyan tartásához.
Gyakori futásidejű problémák hibaelhárítása
Probléma: Inkonzisztens formátumdetektálási eredmények
Tünetek: Ugyanaz a fájlkiterjesztés időnként nem támogatottként jelenik meg.
Gyökök
- Különböző könyvtárverziók a különböző node‑okon.
- Licenc‑korlátozások, amelyek bizonyos prémium formátumokat letiltanak.
- Duplikált JAR‑ok, amelyek osztálybetöltő‑zavarokat okoznak.
Hibakeresési megközelítés
- Naplózza a
GroupDocs.Comparisonverziót indításkor (VersionInfo.getVersion()). - Ellenőrizze, hogy a licencfájl minden szerveren azonos.
- Futtassa a
java -verbose:class‑t, hogy csak egy példány töltődjön be a könyvtárból.
Probléma: Teljesítményromlás idővel
Tünetek: A formátumdetektálás órák után lassul.
Gyakori okok
- Memóriaszivárgás a saját cache‑ekben, amelyek folyamatosan növekednek.
- Korlátlan
ArrayListaFileTypeobjektumok ideiglenes tárolására. - Nagy heap nyomás miatt gyakori GC‑szünetek.
Megoldások
- Alkalmazzon evikciós politikát (pl. LRU) minden egyéni cache‑re.
- Figyelje a heap‑használatot JVisualVM‑mel vagy hasonló eszközzel.
- Profilozzon Java Flight Recorder‑rel a kritikus pontok azonosításához.
Probléma: Formátumdetektálás csendes hibája
Tünetek: Nincs kivétel, de bizonyos formátumok soha nem jelennek meg a listában.
Vizsgálati lépések
- Kapcsolja be a
com.groupdocsdebug naplózást (log4j.logger.com.groupdocs=DEBUG). - Ellenőrizze, hogy a könyvtár inicializálása sikeres (
License.isValid()). - Győződjön meg róla, hogy a hiányzó formátumok nem egy prémium kiegészítő részei, amelyhez magasabb szintű licenc szükséges.
Következtetés és további lépések
A hogyan listázzuk a formátumokat nem csupán egy API‑hívás – ez egy ellenálló, felhasználóbarát dokumentumcsővezeték alapja. A futásidejű detektálás, a cache‑elés és a robusztus hiba‑kezelés integrálásával kiküszöböl egy egész hibakategóriát, és simább élményt nyújt ügyfeleinek.
Emlékeztető ellenőrzőlista
- Hívja egyszer a
FileType.getSupportedFileTypes()‑t, cache‑elje az eredményt, és kérdezze le egyHashSet‑tel. - Validálja a feltöltéseket mielőtt bármilyen nehéz feldolgozásra sor kerül, így CPU‑t takarít meg és javítja a UX‑et.
- Tartsa naprakészen a licencet; az új kiadások további formátumokat hoznak.
- Externalizálja az engedélylistákat, hogy az üzleti szabályok kódváltoztatás nélkül fejlődhessenek.
Következő lépések
- Adja hozzá a fő detektálási kódrészletet a meglévő feltöltési szolgáltatásához.
- Implementáljon egy singleton cache‑t (pl. Spring
@Cacheablehasználatával). - Válassza ki a megfelelő integrációs mintát (pre‑upload, batch vagy REST) a saját architektúrájához.
- Futtasson teljesítmény‑benchmarkot egy reprezentatív adathalmazon, hogy megerősítse az O(1) keresési sebességet.
Készen áll a továbbiakra? Fedezze fel a GroupDocs.Comparison fejlett funkcióit, például a párhuzamos összehasonlítást, metaadat‑kinyerést és a kötegelt összehasonlítási feladatokat, hogy valóban vállalati szintű dokumentum‑folyamatokat építsen.
Gyakran Ismételt Kérdések
K: Mi történik, ha egy nem támogatott fájlformátumot próbál feldolgozni?
A: A GroupDocs.Comparison UnsupportedFileFormatException‑t dob. A getSupportedFileTypes()‑szel előzetes validálással már a drága feldolgozás előtt elkapja a problémát.
K: Változik a támogatott formátumlista a könyvtárverziók között?
Igen. Minden új kiadás további formátumokat ad hozzá – gyakran 3‑5 újat egy kisebb verzióban. Mindig frissítse a cache‑et a frissítés után.
K: Kiterjeszthetem a könyvtárat további formátumok támogatására?
A támogatott formátumlista verziónként rögzített. Ritka formátumokhoz kombinálhatja a GroupDocs.Comparison‑t egy speciális harmadik‑fél parserrel, vagy kérhet egyedi kiegészítőt a GroupDocs‑tól.
K: Mekkora memóriát használ a formátumdetektálás?
A metaadat körülbelül 5 KB. A tényleges memóriahatás attól függ, hogyan tárolja és osztja meg a cache‑elt gyűjteményt; egy egyszerű HashSet<String> elhanyagolható overhead‑ot jelent.
K: Szálbiztos a formátumdetektálás?
Igen, a FileType.getSupportedFileTypes() szálbiztos. Győződjön meg róla, hogy a saját cache‑e (pl. statikus ConcurrentHashMap) is megfelelően kezeli a párhuzamos olvasás/írás műveleteket.
K: Mekkora a teljesítménybeli hatása a formátumtámogatás ellenőrzésének?
Az első hívás körülbelül 10‑15 ms időt igényel egy tipikus szerveren. A későbbi keresések O(1) időben, 0,1 ms alatt teljesülnek.
Utoljára frissítve: 2026-07-20
Tesztelve a következővel: GroupDocs.Comparison 25.2 for Java
Szerző: GroupDocs
További források
- GroupDocs.Comparison for Java Documentation
- API Reference Guide
- Download and Installation Guide
- Free Trial Access
- Temporary License for Development
- Developer Support Forum
- Purchase and Licensing Information