FileShare.cs
3.5 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
using log4net;
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
namespace OnlineStore.DeviceLibrary.doubleStore
{
public class FileShare
{
public static readonly ILog LOGGER = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public FileShare() { }
public static bool isConnect = false;
public static bool connectState(string path)
{
return connectState(path, "", "");
}
public static bool connectState(string path, string userName, string passWord)
{
bool isConnect = false;
Process proc = new Process();
try
{
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
string dosLine = @"net use " + path + " /User:" + userName + " " + passWord + " /PERSISTENT:YES";
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (!proc.HasExited)
{
proc.WaitForExit(1000);
}
string errormsg = proc.StandardError.ReadToEnd();
proc.StandardError.Close();
if (string.IsNullOrEmpty(errormsg))
{
isConnect = true;
}
else
{
LogUtil.error(LOGGER,"连接错误[" + path + "]:" + errormsg);
}
}
catch (Exception ex)
{
LogUtil.error(LOGGER, "出错[" + path + "] "+ex.ToString());
}
finally
{
proc.Close();
proc.Dispose();
}
return isConnect;
}
//read file
public static void ReadFiles(string path)
{
try
{
// Create an instance of StreamReader to read from a file.
// The using statement also closes the StreamReader.
using (StreamReader sr = new StreamReader(path))
{
String line;
// Read and display lines from the file until the end of
// the file is reached.
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
catch (Exception e)
{
LogUtil.error(LOGGER, "出错The file could not be read: [" + path + "]"+e.ToString());
}
}
//write file
public static void WriteFiles(string path,string[] lines)
{
try
{
using (StreamWriter sw = new StreamWriter(path))
{
foreach (string str in lines)
{
sw.WriteLine(str);
}
}
}
catch (Exception e)
{
LogUtil.error(LOGGER, "出错The file could not be read[" + path + "]: "+ e.ToString());
}
}
}
}