C#读写共享目录
2016-05-29 13:23
411 查看
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; using System.Diagnostics; using System.IO; namespace WebApplication2 { public class FileShare { public FileShare() { } public static bool connectState(string path) { return connectState(path,"",""); } public static bool connectState(string path,string userName,string passWord) { bool Flag = 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(); //不允许同一IP同时连接两次,需要先删除 string sDelDosLine = @"net use * /del /y"; proc.StandardInput.WriteLine(sDelDosLine); 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)) { Flag = true; } else { throw new Exception(errormsg); } } catch (Exception ex) { throw ex; } finally { proc.Close(); proc.Dispose(); } return Flag; } //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) { // Let the user know what went wrong. Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); } } //write file public static void WriteFiles(string path) { try { // Create an instance of StreamWriter to write text to a file. // The using statement also closes the StreamWriter. using (StreamWriter sw = new StreamWriter(path)) { // Add some text to the file. sw.Write("This is the "); sw.WriteLine("header for the file."); sw.WriteLine("-------------------"); // Arbitrary objects can also be written to the file. sw.Write("The date is: "); sw.WriteLine(DateTime.Now); } } catch (Exception e) { // Let the user know what went wrong. Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); } } } public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { bool status = false; //连接共享文件夹 status = FileShare.connectState(@"\\10.80.88.180\test", "admin", "admin"); if (status) { DirectoryInfo theFolder = new DirectoryInfo(@"\\10.80.88.180\test"); //先测试读文件,把目录路径与文件名连接 string filename = theFolder.ToString()+"\\good.txt"; FileShare.ReadFiles(filename); //测试写文件,拼出完整的路径 filename = theFolder.ToString() + "\\bad.txt"; FileShare.WriteFiles(filename); //遍历共享文件夹,把共享文件夹下的文件列表列到listbox foreach (FileInfo nextFile in theFolder.GetFiles()) { ListBox1.Items.Add(nextFile.Name); } } else { ListBox1.Items.Add("未能连接!"); } } }}
相关文章推荐
- C#基础篇之命名空间的小插曲
- C#将dll打包到程序中
- 1-1从Xamarin项目类型开始
- 【C#】C#高级语法
- C#当窗体大小改变时,窗体中的控件大小也随之改变
- C#知识点-枚举器和迭代器
- 30天C#基础巩固-----序列化,集合
- C#/C++ 模板和 C# 泛型之间的区别(C# 编程指南
- C#/字符串排序
- C#/数组、ArrayList和List三者的区别
- 【C#】C#基础学习笔记
- C#范式打字游戏
- 微软收购Xamarin或许对C#开发者是个好消息
- C#设计模式(2)
- C# 利用Socket类实现客户端和服务器之间的通信,可在本机之间实现信息交互
- C#实现所有经典排序算法汇总zz
- 【C#】.NET技术的发展及其跨语言和跨平台特性
- C#中的访问修饰符
- C#自定义特性实例
- C#根据文件流判断文件类型