aboutsummaryrefslogtreecommitdiff
path: root/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileOutputStream.cs
blob: 2e84e42c99a619aa02ad88843a633b6fd2637b81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System.IO;

namespace SharpCifs.Util.Sharpen
{
    internal class FileOutputStream : OutputStream
    {
        public FileOutputStream(FilePath file) : this(file.GetPath(), false)
        {
        }

        public FileOutputStream(string file) : this(file, false)
        {
        }

        public FileOutputStream(FilePath file, bool append) : this(file.GetPath(), append)
        {
        }

        public FileOutputStream(string file, bool append)
        {
            try
            {
                if (append)
                {
                    Wrapped = File.Open(file, FileMode.Append, FileAccess.Write);
                }
                else
                {
                    Wrapped = File.Open(file, FileMode.Create, FileAccess.Write);
                }
            }
            catch (DirectoryNotFoundException)
            {
                throw new FileNotFoundException("File not found: " + file);
            }
        }

    }
}