12 Temmuz 2018 Perşembe

SpringContext ClassPathResource Sınıfı

Giriş
Şu satırı dahil ederiz.
import org.springframework.core.io.ClassPathResource;
Classpath içindeki bir dosyaya erişmek içindir. Örneğin src/main/resources altındaki bir dosyayı okumak için kullanılır. Bu sınıf altta java.lang.ClassLoader nesnesini kullanır.

Bu sınıfın kardeşleri şöyle
- UrlResource
- FileUrlResource
- ClassPathResource
- FileSystemResource
- ServletContextResource
- InputStreamResource
- ByteArrayResource


constructor
Örnek
Şöyle yaparız.
Resource resource = new ClassPathResource("reports/samplereport.jrxml");
Örnek
Elimizde şöyle bir kod olsun
private static final String CURRENT_FILE = "file.txt";

public Resource getCurrentResource() {
    return new ClassPathResource(CURRENT_FILE);
}
Şöyle yaparız.
Resource resource = getCurrentResource();
Örnek
Şöyle yaparız.
Resource resource = new ClassPathResource("schema.sql");
ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator(resource);
databasePopulator.execute(dataSource);
constructor - Path + ClassLoader
Örnek
Şöyle yaparız
ClassPathResource resource = new ClassPathResource("file.txt", MyCustomClassLoader.class);
createRelative metodu
Örnek
Şöyle yaparız
ClassPathResource parentResource = new ClassPathResource("config/");
ClassPathResource childResource = parentResource.createRelative("application.properties");
exists metodu
Örnek
Şöyle yaparız
ClassPathResource resource = new ClassPathResource("file.txt");
if (resource.exists()) {
  // Proceed with reading
}
contentLength metodu
Örnek
Şöyle yaparız
long length = resource.contentLength();
getFile metodu
Şöyle yaparız.
try {
   File file = new ClassPathResource("static/images/android.png").getFile();    
} catch (IOException e) {
}
Örnek
Şöyle yaparız
Path path = resource.getFile().toPath();
Örnek
Şöyle yaparız
ClassPathResource folderResource = new ClassPathResource("config/");
File folder = folderResource.getFile();
Path folderPath = folder.toPath();
try (Stream<Path> paths = Files.walk(folderPath)) {
    paths
        .filter(Files::isRegularFile)
        .forEach(System.out::println);
}

getInputStream metodu
Örnek
Şöyle yaparız
ClassPathResource resource = new ClassPathResource("file.txt");
InputStream inputStream = resource.getInputStream();
Örnek
Şöyle yaparız.
Resource resource = getCurrentResource();
byte[] data = StreamUtils.copyToByteArray(resource.getInputStream());
getURL metodu
Örnek
Şöyle yaparız
URL url = resource.getURL();



Hiç yorum yok:

Yorum Gönder