formatları listeleme – Tam Algılama Kılavuzu
Java’da bir belge işlemeye çalıştınız ve kütüphanenizin o belirli formatı desteklemediği için bir engelle karşılaştınız mı? Yalnız değilsiniz. Dosya formatı uyumluluğu, UnsupportedFileException diyebileceğinizden daha hızlı bir şekilde bir projeyi sekteye uğratabilen gotcha anlarından biridir.
how to list formats bilmek, sağlam belge işleme sistemleri oluşturmak için esastır. İster bir belge yönetim platformu, bir dosya‑dönüştürme hizmeti oluşturuyor olun, ister sadece validate document upload java yapmanız gerekiyor olsun, programatik format algılaması sizi çalışma zamanı sürprizlerinden ve memnuniyetsiz kullanıcılardan korur.
Bu kılavuzda check file format java, retrieve file types java nasıl yapılacağını keşfedecek ve bu kontrolleri GroupDocs.Comparison kullanarak gerçek‑dünya Java uygulamalarına entegre edeceksiniz.
Hızlı Yanıtlar
- Formatları listelemenin temel yöntemi nedir?
FileType.getSupportedFileTypes()mevcut kütüphane sürümünün işleyebileceği tüm formatları döndürür. - API’yi kullanmak için bir lisansa ihtiyacım var mı? Evet—geliştirme için ücretsiz deneme veya geçici lisans, üretim için ise ticari lisans gereklidir.
- Format listesini önbelleğe alabilir miyim? Kesinlikle—önbellekleme, format meta verilerini yüklemenin tek seferlik yükünü azaltır.
- Format algılaması çoklu iş parçacığı güvenli mi? Evet, GroupDocs API çoklu iş parçacığı güvenlidir; sadece kendi önbelleklerinizin eşzamanlılığı yönettiğinden emin olun.
- Kütüphane güncellemeleriyle liste değişecek mi? Yeni sürümler genellikle format ekler; güncellemelerden sonra yeniden önbellekleme yaparak güncel kalın.
Java Uygulamalarında Dosya Formatı Algılamasının Önemi
Desteklenen formatları erken tespit etmek, çalışma zamanı hatalarını önler, boşa harcanan CPU döngülerini azaltır ve kullanıcılara hangi dosyaları yükleyebilecekleri konusunda anında geri bildirim verir. Ağır işlemden önce uyumluluğu kontrol ederek hizmetinizin yanıt vermesini ve hata günlüklerinizin temiz kalmasını sağlarsınız.
Format algılamasının günü kurtardığı yaygın senaryolar:
- Yükleme doğrulama – desteklenmeyen dosyaları kenarda reddedin.
- Toplu işleme – hataya neden olabilecek dosyaları atlayarak toplu işlemi canlı tutun.
- API entegrasyonu – genel 500 hataları yerine net hata mesajları döndürün.
- Kaynak planlaması – bilinen format özelliklerine göre CPU ve bellek tahmini yapın.
- Kullanıcı deneyimi – dosya seçicilerde desteklenen uzantıların öz bir listesini gösterin.
İş Etkisi
Akıllı format algılaması sadece teknik bir incelik değildir—doğrudan kârınızı etkiler:
- Azaltılmış destek talepleri: Kullanıcılar önceden neyin çalıştığını bilir.
- Daha iyi kaynak kullanımı: Sadece uyumlu dosyaları işleyerek CPU’yu diğer görevler için serbest bırakır.
- Artan memnuniyet: Net geri bildirim hayal kırıklığını ortadan kaldırır.
- Daha hızlı geliştirme döngüleri: Erken doğrulama, hataları QA’dan önce yakalar.
Önkoşullar ve Kurulum Gereksinimleri
İhtiyacınız Olanlar
Geliştirme Ortamı
- Java Development Kit (JDK) 8 ve üzeri
- Bağımlılık yönetimi için Maven veya Gradle
- Favori IDE’niz (IntelliJ IDEA, Eclipse, VS Code)
Bilgi Önkoşulları
- Temel Java sözdizimi ve OOP kavramları
- Maven/Gradle proje yapılarıyla aşinalık
- Java istisna yönetimini anlama
Kütüphane Bağımlılıkları
- Java için GroupDocs.Comparison (nasıl ekleyeceğinizi göstereceğiz)
GroupDocs daha önce kullanmadıysanız endişelenmeyin—her adımı birlikte inceleyeceğiz.
Java için GroupDocs.Comparison Kurulumu
Neden GroupDocs.Comparison?
GroupDocs.Comparison 70+ giriş ve çıkış formatını destekler, klasik Office dosyalarından CAD çizimlerine ve e-posta arşivlerine kadar. Tek, tutarlı bir API sunar, böylece birden fazla kütüphaneyle uğraşmanıza gerek kalmaz.
Maven Kurulumu
Add this repository and dependency to your pom.xml:
<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 Kurulumu
For Gradle users, add this to your build.gradle:
repositories {
maven {
url 'https://releases.groupdocs.com/comparison/java/'
}
}
dependencies {
implementation 'com.groupdocs:groupdocs-comparison:25.2'
}
Lisans Yapılandırma Seçenekleri
Geliştirme İçin
- Ücretsiz Deneme – değerlendirme için mükemmel, kredi kartı gerekmez.
- Geçici Lisans – geliştirme aşaması için tam özellik seti.
Üretim İçin
- Ticari Lisans – canlı dağıtım için zorunludur.
Pro ipucu: Ücretsiz deneme ile başlayın, gerekli tüm formatların listelendiğini doğrulayın, ardından kodlamayı bitirirken geçici lisansa geçin.
Formatları nasıl listeleyeceksiniz
FileType.getSupportedFileTypes() metodunu başlangıçta bir kez çağırın, dönen koleksiyonu önbelleğe alın ve gelen dosyaları doğrularken O(1) aramalar için bir HashSet<String> kullanın. Bu API’ye dayanarak sabit kodlu listelerden kaçınır ve gelecekteki kütüphane güncellemeleriyle uyumluluğu sağlarsınız. Bu tek satırlık çağrı, GroupDocs.Comparison’ın işleyebileceği her formatın tam, sürüm‑doğru bir listesini verir.
Temel Uygulama
FileType sınıfı, uzantı, MIME tipi ve yetenek bayraklarını içeren tek bir dosya formatının GroupDocs.Comparison temsilidır.
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.");
Kodu Anlamak
Burada ne oluyor
FileType.getSupportedFileTypes()kütüphanenin bildiği her formatı içeren birIterable<FileType>döndürür.- Her
FileTypenesnesigetExtension(),getMimeType()veisSupportedForComparison()gibi özellikleri ortaya çıkarır. - Döngü sadece her formatın uzantısını ve kısa bir açıklamasını yazdırır.
Bu yaklaşımın temel faydaları
- Çalışma zamanı keşfi – Bakımı gereken sabit kodlu listeler yok.
- Sürüm uyumluluğu – Liste, kullandığınız JAR’ın tam yeteneklerini her zaman yansıtır.
- Dinamik doğrulama – Doğrulama mantığını doğrudan API çıktısından oluşturun.
Filtreleme ile Geliştirilmiş Uygulama
Üretimde genellikle formatları filtrelemeniz gerekir (ör. sadece karşılaştırma için desteklenenler veya sadece ofis belgeleri). Aşağıdaki desen, kod tabanınızda yeniden kullanabileceğiniz filtrelenmiş bir Set<String> nasıl oluşturulacağını gösterir.
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";
}
}
Yaygın Kurulum Sorunları ve Çözümleri
Sorun 1: Bağımlılık Çözümleme Problemleri
Semptom: Maven/Gradle GroupDocs deposunu veya artefaktları bulamıyor.
Çözüm
- Ağınızın
repo.groupdocs.comadresine dışa HTTPS izin verdiğini doğrulayın. - Depo URL’sinin yazımını iki kez kontrol edin.
- Kurumsal ortamlarda, depoyu iç dahili Nexus veya Artifactory aynanıza ekleyin.
Hızlı çözüm
<!-- 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>
Sorun 2: Lisans Doğrulama Hataları
Semptom: Uygulama çalışıyor ancak lisans uyarıları kaydediyor veya işlevselliği sınırlıyor.
Çözüm
.licdosyasını sınıf yoluna (ör.src/main/resources) yerleştirin.- Lisansın süresi dolmadığını ve ürün sürümüyle eşleştiğini doğrulayın.
- Deneme sürümü kullanıyorsanız, 30 gün sonra sona ereceğini unutmayın.
Lisans yükleme için kod örneği
// Load license at application startup
License license = new License();
license.setLicense("path/to/GroupDocs.Comparison.lic");
Sorun 3: Çalışma Zamanında ClassNotFoundException
Semptom: Kod derleniyor ancak çalışma zamanında eksik sınıf hatalarıyla başarısız oluyor.
Yaygın nedenler
- Çakışan geçişli bağımlılıklar (ör. başka bir kütüphane
commons-logging‘in eski bir sürümünü çekiyor). - Kütüphanenin minimum gereksiniminden daha eski bir JDK sürümü kullanmak.
Hata ayıklama adımları
- Çakışmaları görmek için
mvn dependency:tree(veyagradle dependencies) çalıştırın. - JDK 8 ve üzeri kullandığınızdan emin olun.
- Gerekirse sorunlu geçişli bağımlılığı dışlayın.
Sorun 4: Büyük Format Listelerinde Performans Sorunları
Semptom: getSupportedFileTypes() ilk çağrısı sonraki çağrılara göre belirgin şekilde daha uzun sürer.
Çözüm: Sonucu çoklu iş parçacığı güvenli bir singleton’da önbelleğe alın (ör. EnumMap veya ConcurrentHashMap kullanarak). Liste JVM ömrü boyunca değişmez, bu yüzden tek seferlik yükleme tekrarlanan yansıma yükünü ortadan kaldırır.
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;
}
}
Gerçek‑Dünya Uygulamaları için Entegrasyon Kalıpları
Kalıp 1: Ön‑Yükleme Doğrulama
Dosya sunucuya ulaşmadan önce check file format java yapması gereken web uygulamaları için mükemmeldir.
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) : "";
}
}
Kalıp 2: Format Filtreleme ile Toplu İşleme
batch process file formats yapmanız gerektiğinde, bu kalıp desteklenmeyen dosyaları zarifçe atlar ve daha sonra inceleme için kaydeder.
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"
)
);
}
}
Kalıp 3: REST API Format Bilgisi
İstemci uygulamaların izin verilen uzantıları dinamik olarak gösterebilmesi için bir list supported file types uç noktasını ortaya çıkarın.
@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));
}
}
Üretim Kullanımı için En İyi Uygulamalar
Bellek Yönetimi
Akıllıca önbellekle: Desteklenen format listesini bir static final alanında veya ayrı bir önbellek sağlayıcıda (ör. Caffeine) saklayın. Meta veri sadece birkaç kilobayt yer kaplar, ancak tekrarlanan yansımalar birikebilir.
// 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
Hata Yönetimi
Zarif gerileme: Format algılaması başarısız olursa (ör. bozuk bir JAR nedeniyle), sabit kodlu minimal bir listeye geri dönün ve bir uyarı kaydedin. İstisnanın kullanıcı arayüzüne ulaşmasına izin vermeyin.
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
}
}
Performans Optimizasyonu
Tembel başlatma: Format listesinin yüklenmesini gerçekten ihtiyaç duyulan ilk isteğe kadar geciktirin. Bu, belge işleyebilecek olasılığı olmayan mikro‑servislerin başlangıç süresini azaltır.
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;
}
}
}
}
}
Konfigürasyon Yönetimi
Format kısıtlamalarını dışa aktar: İş birimi başına izin verilen uzantıları listeleyen bir application.yml veya properties dosyası tutun. Bu, politika değişikliklerini kod yeniden dağıtımı olmadan mümkün kılar.
# application.yml
document-processing:
allowed-formats:
- pdf
- docx
- xlsx
max-file-size: 10MB
validation-mode: strict
İleri Düzey Kullanım Durumları ve Uygulamalar
Kurumsal Belge Yönetimi
Büyük organizasyonlar genellikle departmana özgü izin listelerine ihtiyaç duyar. FileType meta verisini rol tabanlı erişim kontrolüyle birleştirerek, “Hukuk PDF ve DOCX yükleyebilir, Pazarlama ise PPTX de yükleyebilir” gibi ayrıntılı politikalar uygulayabilirsiniz.
Bulut Depolama Entegrasyonu
AWS S3, Azure Blob veya Google Drive gibi hizmetlerden dosya senkronizasyonu yaparken, desteklenmeyen formatları indirilmeden önce filtreleyin. Bu, bant genişliğini ve depolama maliyetlerini azaltır.
Otomatik İş Akışı Sistemleri
İş süreci otomasyonu, belgeyi formata göre yönlendirebilir. Örneğin, sözleşme‑inceleme iş akışı sadece DOCX kabul ederken, fatura‑işleme hattı PDF, XLSX ve CSV kabul edebilir.
Performans Düşünceleri ve Optimizasyon
Bellek Kullanımı Optimizasyonu
Tüm format meta verilerini belleğe yüklemek ucuzdur (≈ 5 KB). Ancak, sınırlı bir konteynerde onlarca mikro‑servis çalıştırıyorsanız şunları yapabilirsiniz:
- Tembel yükleme – sadece ihtiyaç duyulduğunda.
- Seçici önbellek – sadece gerçekten desteklediğiniz formatları tutun (ör. ofis belgeleri).
- WeakReference önbellekleri kullanın, böylece JVM baskı altında belleği geri kazanabilir.
CPU Performans İpuçları
- Önbelleğe alınmış uzantılardan oluşturulan bir
HashSet<String>kullanarak sabit‑zamanlı aramalar yapın. - Dosya adı doğrulaması için kullandığınız düzenli ifadeleri önceden derleyin.
- Büyük toplu işler için, I/O limitlerine saygı göstererek dosyaları paralel akışlarda (
parallelStream()) işleyin.
// Efficient format validation
private static final Set<String> SUPPORTED_EXTENSIONS =
Collections.unmodifiableSet(loadSupportedExtensions());
public boolean isSupported(String extension) {
return SUPPORTED_EXTENSIONS.contains(extension.toLowerCase());
}
Ölçeklendirme Düşünceleri
- Uygulama başlangıcı: Format listesini bir Spring bean’in
@PostConstructmetodunda başlatın. - Dağıtık önbellekler: Küme ortamında, her düğümün ayrı ayrı yüklemesini önlemek için önbellek listesini Redis veya Hazelcast üzerinden paylaşın.
- Bağlantı havuzu: Ek doğrulama için dış hizmetleri çağırıyorsanız, gecikmeyi düşük tutmak için bir havuz (ör. HikariCP) kullanın.
Yaygın Çalışma Zamanı Sorunlarını Giderme
Sorun: Tutarsız Format Algılama Sonuçları
Semptomlar: Aynı dosya uzantısı bazen desteklenmiyor olarak raporlanır.
Temel nedenler
- Farklı düğümlerde farklı kütüphane sürümleri.
- Belirli premium formatları devre dışı bırakan lisans kısıtlamaları.
- Çift JAR’lar sınıf yükleyici karışıklığına neden oluyor.
Hata ayıklama yaklaşımı
- Başlangıçta
GroupDocs.Comparisonsürümünü kaydedin (VersionInfo.getVersion()). - Lisans dosyasının tüm sunucularda aynı olduğundan emin olun.
- Yalnızca bir kütüphane kopyasının yüklendiğini kontrol etmek için
java -verbose:classçalıştırın.
Sorun: Zamanla Performans Düşüşü
Semptomlar: Format algılaması saatler süren çalışma sonrası yavaşlar.
Yaygın nedenler
- Büyüyen özel önbelleklerde bellek sızıntıları.
- Geçici
FileTypenesnelerini saklamak için sınırsızArrayListkullanımı. - Büyük yığın baskısı nedeniyle aşırı GC duraklamaları.
Çözümler
- Herhangi bir özel önbellek için bir atım politikası (ör. LRU) uygulayın.
- JVisualVM veya benzeri araçlarla yığın kullanımını izleyin.
- Sıcak noktaları belirlemek için Java Flight Recorder ile profil çıkarın.
Sorun: Format Algılaması Sessizce Başarısız Oluyor
Semptomlar: İstisna atılmıyor, ancak bazı formatlar listede hiç görünmüyor.
Araştırma adımları
com.groupdocsiçin hata ayıklama kaydını etkinleştirin (log4j.logger.com.groupdocs=DEBUG).- Kütüphane başlatmasının başarılı olduğunu doğrulayın (
License.isValid()). - Eksik formatların daha yüksek seviyeli bir lisans gerektiren bir premium eklentinin parçası olup olmadığını kontrol edin.
Sonuç ve Sonraki Adımlar
how to list formats kavramını anlamak sadece tek bir API çağrısı hakkında değildir—dayanıklı, kullanıcı‑dostu bir belge akışının temelidir. Çalışma zamanı algılamasını, önbellekleme ve sağlam hata yönetimini entegre ederek, bütün bir hata sınıfını ortadan kaldırır ve müşterilerinize daha sorunsuz bir deneyim sunarsınız.
Özet kontrol listesi
FileType.getSupportedFileTypes()metodunu bir kez kullanın, sonucu önbelleğe alın ve birHashSetile sorgulayın.- Ağır işlemden önce yüklemeleri doğrulayarak CPU tasarrufu sağlayın ve UX’i iyileştirin.
- Lisansınızı güncel tutun; yeni sürümler ek formatlar getirir.
- İzin listelerini dışa aktarın, böylece iş kuralları kod değişikliği olmadan evrimleşebilir.
Sonraki adımlar
- Temel algılama kod parçacığını mevcut yükleme servisinize ekleyin.
- Bir singleton önbellek uygulayın (ör. Spring’in
@Cacheablekullanarak). - Mimarinize uyan entegrasyon kalıplarından birini (ön‑yükleme, toplu, veya REST) seçin.
- O(1) arama hızlarını doğrulamak için temsilci bir veri kümesi üzerinde performans ölçümleri yapın.
Daha fazlasına hazır mısınız? GroupDocs.Comparison’ın yan‑yana karşılaştırma, meta veri çıkarma ve toplu karşılaştırma işleri gibi gelişmiş özelliklerini keşfederek gerçek kurumsal düzeyde belge iş akışları oluşturun.
Sıkça Sorulan Sorular
S: Desteklenmeyen bir dosya formatını işlemeye çalışırsam ne olur?
C: GroupDocs.Comparison bir UnsupportedFileFormatException fırlatır. getSupportedFileTypes() ile ön‑doğrulama, pahalı işlem başlamadan sorunu yakalamanızı sağlar.
S: Desteklenen formatlar listesi kütüphane sürümleri arasında değişir mi?
C: Evet. Her yeni sürüm ek formatları destekler—genellikle küçük sürüm başına 3‑5 yeni format. Güncellemeden sonra her zaman yeniden önbellekleme yapın.
S: Kütüphaneyi ek formatları destekleyecek şekilde genişletebilir miyim?
C: Desteklenen format listesi sürüm başına sabittir. Niş formatlar için GroupDocs.Comparison’ı özel bir üçüncü‑taraf ayrıştırıcıyla birleştirin veya özel bir eklenti için GroupDocs ile iletişime geçin.
S: Format algılaması ne kadar bellek kullanır?
C: Meta veri yaklaşık 5 KB yer kaplar. Gerçek bellek etkisi, önbellek koleksiyonunu nasıl sakladığınız ve paylaştığınıza bağlıdır; basit bir HashSet<String> ihmal edilebilir bir ek yük ekler.
S: Format algılaması çoklu iş parçacığı güvenli mi?
C: Evet, FileType.getSupportedFileTypes() çoklu iş parçacığı güvenlidir. Kendi önbelleğinizin (ör. statik bir ConcurrentHashMap) da eşzamanlı okuma/yazma işlemlerini yönettiğinden emin olun.
S: Format desteğini kontrol etmenin performans etkisi nedir?
C: İlk çağrı tipik bir sunucuda ~10‑15 ms tek seferlik bir maliyet getirir. Sonraki aramalar O(1) olup 0.1 ms altında tamamlanır.
Last Updated: 2026-07-20
Tested With: GroupDocs.Comparison 25.2 for Java
Author: GroupDocs
Additional Resources
- 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