巨石化纤
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

201 lines
5.2 KiB

1 year ago
using System;
using System.IO;
using System.Xml;
namespace SiaSun.LMS.Common
{
/// <summary>
/// �ļ���д��
/// </summary>
public class File
{
/// <summary>
/// ���캯��
/// </summary>
public File()
{
}
#region ------��д.txt�ļ�
/// <summary>
/// ��txt�ļ���д����
/// </summary>
/// <param name="contents">�����</param>
/// <param name="path">����</param>
static public void WriteToText(string contents,string path)
{
StreamWriter sr = null;
try
{
if (System.IO.File.Exists(path))
sr = new StreamWriter(path);
else
sr = System.IO.File.CreateText(path);
sr.WriteLine(contents);
}
catch(IOException iox)
{
throw new Exception("Faile to Write to File",iox);
}
finally
{
sr.Close();
}
}
/// <summary>
/// ��txt�ļ��ж�����
/// </summary>
/// <param name="path">����</param>
static public string ReadFromText(string path)
{
StreamReader sr = null;
try
{
if (!System.IO.File.Exists(path))
return string.Empty;
sr = System.IO.File.OpenText(path);
System.Text.StringBuilder input = new System.Text.StringBuilder();
input.Append(sr.ReadToEnd());
return input.ToString();
}
catch(IOException iox)
{
throw new Exception("Faile to Read File",iox);
}
finally
{
sr.Close();
}
}
#endregion
#region ------��дXML�ļ�
/// <summary>
/// ��xml�ļ���ָ���ڵ���InnerTextֵ
/// </summary>
/// <param name="path">xml������</param>
/// <param name="nodeName">�ڵ�·��</param>
/// <returns>���ؽڵ�ֵ</returns>
public static string ReadXml(string path,string nodeName)
{
XmlDocument docXML = new XmlDocument();
try
{
docXML.Load(path);
XmlNode node = docXML.SelectSingleNode(nodeName);
docXML.Save(path);
return node.InnerText;
}
catch(XmlException ex)
{
throw new Exception("Faile to Read XML File",ex);
}
}
/// <summary>
/// ��xml�ļ���ָ���ڵ㸳ֵ
/// </summary>
/// <param name="path">xml������</param>
/// <param name="nodeName">�ڵ�·��</param>
/// <param name="nodeValue">�ڵ�ֵ</param>
/// <returns>���ؽڵ�ֵ</returns>
public static void WriteXml(string path,string nodeName,string nodeValue)
{
try
{
XmlDocument docXML = new XmlDocument();
docXML.Load(path);
XmlNode node = docXML.SelectSingleNode(nodeName);
node.InnerText = nodeValue;
docXML.Save(path);
}
catch(XmlException ex)
{
throw new Exception("Faile to Write XML File",ex);
}
}
#endregion
#region ------�ж�ָ���ļ����Ƿ����ڣ��������򴴽�
/// <summary>
/// ���������ر���Ŀ¼,��ִ�г����Ĵ���Ŀ¼�´�����ָ���ļ���
/// </summary>
/// <param name="SavedDicName">�������ļ���·��</param>
public static string GetDicPath(string SavedDicName)
{
//���ø�Ŀ¼
string rootDic = Directory.GetDirectoryRoot(AppDomain.CurrentDomain.BaseDirectory);
string path = Path.Combine(rootDic, SavedDicName);
//�жϸ�Ŀ¼ָ���ļ����Ƿ�����
if (!Directory.Exists(SavedDicName))
{
Directory.CreateDirectory(path);
}
return path;
}
/// <summary>
/// //�ж��ļ��Ƿ�����,�����ڣ�����
/// </summary>
/// <param name="strFile"></param>
/// <returns></returns>
public static string GetFile(string strFile)
{
if (!System.IO.File.Exists(strFile))
{
System.IO.File.Create(strFile);
}
return strFile;
}
#endregion
#region ------��ָ���ļ���·����������Ϊ�ļ����������ļ���д����Ϣ
/// <summary>
/// ��ָ���ļ���д����Ϣ
/// </summary>
/// <param name="RootDicPath">�ϼ�Ŀ¼·��</param>
/// <param name="Content">�����</param>
public static void WriteToEveryDayFile(string DicName, string Content)
{
//���û򴴽�ָ���ļ���·��
string dicPath = GetDicPath(DicName);
//����д�����ļ���
string fileName = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Day.ToString();
//����
string filePath = Path.Combine(dicPath, fileName + ".txt");
//�����ļ�����д���ļ�
FileStream flStream = null;
StreamWriter writer = null;
try
{
flStream = new FileStream(filePath, FileMode.Append, FileAccess.Write);
writer = new StreamWriter(flStream);
writer.WriteLine(DateTime.Now.ToString());
writer.Write(Content);
writer.WriteLine();
writer.WriteLine();
writer.Flush();
}
catch (IOException ex)
{
throw new Exception(ex.Message);
}
finally
{
writer.Close();
flStream.Close();
}
}
#endregion
}
}