34 lines
980 B
C#
34 lines
980 B
C#
// Copyright (c) 2007-2016 CSJ2K contributors.
|
|
// Licensed under the BSD 3-Clause License.
|
|
|
|
namespace CSJ2K.Util
|
|
{
|
|
using System;
|
|
using System.IO;
|
|
|
|
public class DotnetFileStreamCreator : IFileStreamCreator
|
|
{
|
|
#region FIELDS
|
|
|
|
private static readonly IFileStreamCreator Instance = new DotnetFileStreamCreator();
|
|
|
|
#endregion
|
|
|
|
#region METHODS
|
|
|
|
public static void Register()
|
|
{
|
|
FileStreamFactory.Register(Instance);
|
|
}
|
|
|
|
public Stream Create(string path, string mode)
|
|
{
|
|
if (mode.Equals("rw", StringComparison.OrdinalIgnoreCase)) return new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite);
|
|
if (mode.Equals("r", StringComparison.OrdinalIgnoreCase)) return new FileStream(path, FileMode.Open, FileAccess.Read);
|
|
throw new ArgumentException(String.Format("File mode: {0} not supported.", mode), "mode");
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|