/// <summary> /// Open a random access file for the given path, more and access. /// </summary> private static RandomAccessFile Open(string path, FileMode mode, FileAccess access) { var file = new Java.Io.File(path); switch (mode) { case FileMode.CreateNew: if (file.Exists()) { throw new IOException("File already exists"); } break; case FileMode.Open: if (!file.Exists()) { throw new FileNotFoundException(path); } break; case FileMode.Append: access = FileAccess.Write; break; } switch (mode) { case FileMode.Create: case FileMode.CreateNew: case FileMode.OpenOrCreate: if (access == FileAccess.Read) { //create empty file, so it can be opened again with read only right, //otherwise an FilNotFoundException is thrown. var additinalAccessFile = new RandomAccessFile(file, "rw"); } break; } var jMode = (access == FileAccess.Read) ? "r" : "rw"; var randomAccessFile = new RandomAccessFile(file, jMode); switch (mode) { case FileMode.Truncate: randomAccessFile.SetLength(0); break; case FileMode.Append: randomAccessFile.Seek(randomAccessFile.Length()); break; } return(randomAccessFile); }
/// <summary> /// Read a file with given path and return a string array with it's entire contents. /// </summary> public static string[] ReadAllLines(string path) { if (path == null) { throw new ArgumentNullException("path"); } var file = new JFile(path); if (!file.Exists() || !file.IsFile()) { throw new FileNotFoundException(path); } if (!file.CanRead()) { throw new UnauthorizedAccessException(path); } var reader = new BufferedReader(new FileReader(file)); try { var list = new ArrayList <string>(); string line; while ((line = reader.ReadLine()) != null) { list.Add(line); } return(list.ToArray(new string[list.Count])); } finally { reader.Close(); } }
/// <summary> /// Read a file with given path and return a string with it's entire contents. /// </summary> public static string ReadAllText(string path) { if (path == null) { throw new ArgumentNullException("path"); } var file = new JFile(path); if (!file.Exists() || !file.IsFile()) { throw new FileNotFoundException(path); } if (!file.CanRead()) { throw new UnauthorizedAccessException(path); } var reader = new FileReader(file); try { var array = new char[4096]; var buffer = new StringBuffer(); int len; while ((len = reader.Read(array, 0, array.Length)) > 0) { buffer.Append(array, 0, len); } return(buffer.ToString()); } finally { reader.Close(); } }
/// <summary> /// Read a file with given path and return a byte-array with it's entire contents. /// </summary> public static byte[] ReadAllBytes(string path) { if (path == null) { throw new ArgumentNullException("path"); } var file = new JFile(path); if (!file.Exists() || !file.IsFile()) { throw new FileNotFoundException(path); } if (!file.CanRead()) { throw new UnauthorizedAccessException(path); } var stream = new FileInputStream(file); try { var array = new byte[file.Length()]; stream.Read(array, 0, array.Length); return(array); } finally { stream.Close(); } }
/// <summary> /// Read a file with given path and return a string array with it's entire contents. /// </summary> public static string[] ReadAllLines(string path) { if (path == null) throw new ArgumentNullException("path"); var file = new JFile(path); if (!file.Exists() || !file.IsFile()) throw new FileNotFoundException(path); if (!file.CanRead()) throw new UnauthorizedAccessException(path); var reader = new BufferedReader(new FileReader(file)); try { var list = new ArrayList<string>(); string line; while ((line = reader.ReadLine()) != null) { list.Add(line); } return list.ToArray(new string[list.Count]); } finally { reader.Close(); } }
/// <summary> /// Read a file with given path and return a byte-array with it's entire contents. /// </summary> public static byte[] ReadAllBytes(string path) { if (path == null) throw new ArgumentNullException("path"); var file = new JFile(path); if (!file.Exists() || !file.IsFile()) throw new FileNotFoundException(path); if (!file.CanRead()) throw new UnauthorizedAccessException(path); var stream = new FileInputStream(file); try { var array = new byte[file.Length()]; stream.Read(array, 0, array.Length); return array; } finally { stream.Close(); } }
/// <summary> /// Open a random access file for the given path, more and access. /// </summary> private static RandomAccessFile Open(string path, FileMode mode, FileAccess access) { var file = new Java.Io.File(path); switch (mode) { case FileMode.CreateNew: if (file.Exists()) throw new IOException("File already exists"); break; case FileMode.Open: if (!file.Exists()) throw new FileNotFoundException(path); break; case FileMode.Append: access = FileAccess.Write; break; } switch (mode) { case FileMode.Create: case FileMode.CreateNew: case FileMode.OpenOrCreate: if (access == FileAccess.Read) { //create empty file, so it can be opened again with read only right, //otherwise an FilNotFoundException is thrown. var additinalAccessFile = new RandomAccessFile(file, "rw"); } break; } var jMode = (access == FileAccess.Read) ? "r" : "rw"; var randomAccessFile = new RandomAccessFile(file, jMode); switch (mode) { case FileMode.Truncate: randomAccessFile.SetLength(0); break; case FileMode.Append: randomAccessFile.Seek(randomAccessFile.Length()); break; } return randomAccessFile; }
/// <summary> /// Does a file with given path exist on the filesystem? /// </summary> public static bool Exists(string path) { var file = new JFile(path); return(file.IsFile() && file.Exists()); }
/// <summary> /// Does a file with given path exist on the filesystem? /// </summary> public static bool Exists(string path) { var file = new JFile(path); return file.IsFile() && file.Exists(); }
/// <summary> /// Read a file with given path and return a string with it's entire contents. /// </summary> public static string ReadAllText(string path) { if (path == null) throw new ArgumentNullException("path"); var file = new JFile(path); if (!file.Exists() || !file.IsFile()) throw new FileNotFoundException(path); if (!file.CanRead()) throw new UnauthorizedAccessException(path); var reader = new FileReader(file); try { var array = new char[4096]; var buffer = new StringBuffer(); int len; while ((len = reader.Read(array, 0, array.Length)) > 0) { buffer.Append(array, 0, len); } return buffer.ToString(); } finally { reader.Close(); } }