package org.textmapper.lapg.ui; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IResourceDelta; public class FileUtil { public static String getStreamContents(InputStream stream, String charset) throws IOException { StringBuilder contents = new StringBuilder(); char[] buf = new char[4096]; InputStreamReader reader = null; try { reader = charset == null ? new InputStreamReader(stream) : new InputStreamReader(stream, charset); int read; while ((read = reader.read(buf)) > 0) { contents.append(buf, 0, read); } return contents.toString(); } finally { try { if(reader != null) { reader.close(); } else { stream.close(); } } catch (Exception e) { } } } public static boolean affectsFile(IResourceDelta fileDelta) { if ((fileDelta.getKind() & (IResourceDelta.ADDED | IResourceDelta.REMOVED)) > 0) { return true; } if ((fileDelta.getFlags() & (IResourceDelta.CONTENT | IResourceDelta.ENCODING | IResourceDelta.SYNC | IResourceDelta.TYPE | IResourceDelta.REPLACED)) > 0) { return true; } return false; } public static boolean isTemplateFile(IFile file) { String ext = file.getFileExtension(); return ext != null && (ext.equals("ltp") || ext.equals("types")); } public static boolean isSyntaxFile(IFile file) { String ext = file.getFileExtension(); return ext != null && ext.equals("s"); } }