Index: src/uk/me/parabola/mkgmap/osmstyle/DirectoryFileLoader.java
===================================================================
--- src/uk/me/parabola/mkgmap/osmstyle/DirectoryFileLoader.java	(revision 3751)
+++ src/uk/me/parabola/mkgmap/osmstyle/DirectoryFileLoader.java	(working copy)
@@ -16,13 +16,13 @@
  */
 package uk.me.parabola.mkgmap.osmstyle;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.InputStreamReader;
+import java.io.IOException;
 import java.io.Reader;
-import java.io.UnsupportedEncodingException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -55,16 +55,15 @@
 	 */
 	public Reader open(String filename) throws FileNotFoundException {
 		File file = new File(dir, filename);
+		Path path = file.toPath();
+		if (!file.exists())
+			throw new FileNotFoundException("File " + path.toString() + " does not exist");
 		
-		Reader r = null;
 		try {
-			r = new InputStreamReader(new FileInputStream(file), "UTF-8");
-        } catch (UnsupportedEncodingException uee) {
-            System.out.println("DirectoryFileLoader: Encoding UTF-8 not supported");
-            r = new InputStreamReader(new FileInputStream(file));
-        }
-
-		return new BufferedReader(r);
+			return Files.newBufferedReader(path, StandardCharsets.UTF_8);
+		} catch (IOException e) {
+			throw new RuntimeException("Error opening file " + path.toString());
+		}
 	}
 
 	/**
