package org.edumips64.utils.io; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.File; import java.io.InputStreamReader; import java.io.IOException; public class LocalFileUtils extends FileUtils { @Override public Reader openReadOnly(String pathname) throws OpenException { try { return new LocalReader(pathname); } catch (Exception e) { throw new OpenException(e); } } @Override public Writer openWriteOnly(String pathname, boolean append) throws OpenException { try { return new LocalWriter(pathname, append); } catch (Exception e) { throw new OpenException(e); } } @Override public String ReadFile(String filename) throws ReadException { StringBuffer contents = new StringBuffer(); try (BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(filename), "ISO-8859-1"))) { String line; while ((line = r.readLine()) != null) { String tmp = cleanFormat(line); if (tmp != null) { contents.append(tmp); contents.append('\n'); } } } catch (IOException e) { throw new ReadException(e); } return new String(contents); } @Override public String GetAbsoluteFilename(String filename) { return new File(filename).getAbsolutePath(); } @Override public String GetBasePath(String filename) { filename = new File(filename).getAbsolutePath() ; int index = 0; int oldindex = 0; while ((index = filename.indexOf(File.separator, index)) != -1) { oldindex = index; index ++; } return filename.substring(0, oldindex + 1); } @Override public boolean isAbsolute(String filename) { return new File(filename).isAbsolute(); } @Override public boolean Exists(String filename) { return new File(filename).exists(); } }