diff --git a/solidify-index-configuration/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java b/solidify-index-configuration/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java
index 43bf746acd5fcd1abdf1bfda4777d42d6be3e926..cffa91912d1cd07b3399ad6a87416868e7e8a20f 100644
--- a/solidify-index-configuration/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java
+++ b/solidify-index-configuration/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java
@@ -23,8 +23,6 @@
 
 package ch.unige.solidify.index.settings.elasticsearch;
 
-import java.io.BufferedReader;
-import java.io.FileReader;
 import java.io.IOException;
 import java.io.StringReader;
 import java.util.ArrayList;
@@ -72,6 +70,7 @@ import ch.unige.solidify.index.settings.IndexingSettingsService;
 import ch.unige.solidify.model.index.IndexDefinition;
 import ch.unige.solidify.model.index.IndexDefinitionList;
 import ch.unige.solidify.model.index.IndexProperties;
+import ch.unige.solidify.util.FileTool;
 import ch.unige.solidify.util.JSONTool;
 import ch.unige.solidify.util.StringTool;
 
@@ -251,15 +250,13 @@ public class ElasticsearchSettingsService extends IndexingSettingsService<IndexP
 
         // Load mapping config from file
         if (!StringTool.isNullOrEmpty(indexDefinition.getIndexMapping())) {
-          FileReader mappingFileReader = this.getMappingFileReader(indexDefinition);
-          String mappingJson = this.getFileContent(mappingFileReader);
+          String mappingJson = this.getMappingFileContent(indexDefinition);
           indexSettings.setMapping(mappingJson);
         }
 
         // Load settings from config file
         if (!StringTool.isNullOrEmpty(indexDefinition.getIndexSettings())) {
-          FileReader settingsFileReader = this.getSettingsFileReader(indexDefinition);
-          String settingsJson = this.getFileContent(settingsFileReader);
+          String settingsJson = this.getSettingFileContent(indexDefinition);
           indexSettings.setSettings(settingsJson);
         }
 
@@ -355,29 +352,13 @@ public class ElasticsearchSettingsService extends IndexingSettingsService<IndexP
     }
   }
 
-  private FileReader getMappingFileReader(IndexDefinition indexDefinition) throws IOException {
-    return this.getFileReader(indexDefinition.getIndexMapping());
+  private String getMappingFileContent(IndexDefinition indexDefinition) throws IOException {
+    final ClassPathResource mappingResource = new ClassPathResource(MAPPING_HOME + "/" + indexDefinition.getIndexMapping());
+    return FileTool.toString(mappingResource.getInputStream());
   }
 
-  private FileReader getSettingsFileReader(IndexDefinition indexDefinition) throws IOException {
-    return this.getFileReader(indexDefinition.getIndexSettings());
-  }
-
-  private FileReader getFileReader(String filename) throws IOException {
-    final ClassPathResource mappingResource = new ClassPathResource(MAPPING_HOME + "/" + filename);
-    return new FileReader(mappingResource.getFile());
-  }
-
-  private String getFileContent(FileReader fileReader) {
-    try (BufferedReader reader = new BufferedReader(fileReader)) {
-      StringBuilder contentBuilder = new StringBuilder();
-      String line;
-      while ((line = reader.readLine()) != null) {
-        contentBuilder.append(line).append("\n");
-      }
-      return contentBuilder.toString();
-    } catch (IOException e) {
-      throw new SolidifyRuntimeException("Unable to read file", e);
-    }
+  private String getSettingFileContent(IndexDefinition indexDefinition) throws IOException {
+    final ClassPathResource mappingResource = new ClassPathResource(MAPPING_HOME + "/" + indexDefinition.getIndexSettings());
+    return FileTool.toString(mappingResource.getInputStream());
   }
 }