/// <summary> /// Create instance of IO allowing the user to choose open (xSave = false) /// or save (xSave = true) location. xTitle and xFilter are the normal /// open/save Title /// </summary> /// <param name="BigEndian"></param> /// <param name="xTitle"></param> /// <param name="xFilter"></param> /// <param name="xType"></param> public DJsIO(DJFileMode xType, string xTitle, string xFilter, bool BigEndian) { IsBigEndian = BigEndian; xTitle = xTitle.Replace("\0", ""); xFilter = xFilter.Replace("\0", ""); if (xType == DJFileMode.Open) { OpenFileDialog xOFD = new OpenFileDialog(); if (xTitle != null) xOFD.Title = xTitle; if (xFilter != null) xOFD.Filter = xFilter; xImp2(ref xOFD); } else { SaveFileDialog xSFD = new SaveFileDialog(); if (xTitle != null) xSFD.Title = xTitle; if (xFilter != null) xSFD.Filter = xFilter; xImp1(ref xSFD); } }
// Sets the File Stream (if applicable) void XSetStream(DJFileMode xftype) { try { xStream = (xftype == DJFileMode.Create) ? File.Create(xFile) : new FileStream(xFile, FileMode.Open, FileAccess.ReadWrite, FileShare.None); xThisData = DataType.File; XSetStrings(); } catch (Exception x) { xStream = null; throw x; } }
/// <summary> /// Create instance of IO directly to a file with file mode type /// </summary> /// <param name="xFileIn"></param> /// <param name="xType"></param> /// <param name="BigEndian"></param> public DJsIO(string xFileIn, DJFileMode xType, bool BigEndian) { IsBigEndian = BigEndian; xFile = xFileIn; XSetStream(xType); }
// Sets the File Stream (if applicable) public void XSetStream(DJFileMode xftype) { if (xftype == DJFileMode.Open && !string.IsNullOrEmpty(this.xFile)) { xStream = new FileStream(this.xFile, FileMode.Open); xThisData = DataType.File; } else if (xftype == DJFileMode.Create && !string.IsNullOrEmpty(this.xFile)) { xStream = new FileStream(this.xFile, FileMode.Create); xThisData = DataType.File; } else { xStream = new MemoryStream(); xThisData = DataType.Memory; } }