Files
vms2016_kadisp/cVMS.NET_CS/MethodExts.cs
2024-11-26 20:15:16 +09:00

68 lines
2.2 KiB
C#

using System;
using System.Xml;
using System.Linq;
using System.Xml.Linq;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using AR;
using System.IO;
using System.Text;
namespace vmsnet
{
public static class MethodExts
{
/// <summary>
/// 지정된 파일 끝에 내용을 추가합니다.
/// </summary>
/// <param name="filename"></param>
/// <param name="data"></param>
public static void AppendText(this System.IO.FileInfo filename, string data)
{
if (filename.Directory.Exists == false) filename.Directory.Create();
using (var writer = new StreamWriter(filename.FullName, true, System.Text.Encoding.Default))
writer.Write(data);//
}
public static void AppendText(this System.IO.FileInfo filename, StringBuilder data)
{
AppendText(filename, data.ToString());
}
/// <summary>
/// 파일에 내용을 기록합니다.
/// 파일지 존재하면 덮어쓰기 됩니다.
/// </summary>
/// <param name="filename"></param>
/// <param name="data"></param>
public static void WriteText(this System.IO.FileInfo filename, StringBuilder data, bool append = false)
{
WriteText(filename, data.ToString(), append);
}
public static void WriteText(this System.IO.FileInfo filename, string data, bool append = false)
{
if (filename.Directory.Exists == false) filename.Directory.Create();
if (append == false)
System.IO.File.WriteAllText(filename.FullName, data);
else
AppendText(filename, data);
}
public static string GetData(this XElement el, string key, string elName, string defvalue = "")
{
if (el == null) return defvalue;
if (el.HasElements == false) return defvalue;
var KeyItem = el.Element(key);
if (KeyItem == null || KeyItem.HasElements == false) return defvalue;
var item = KeyItem.Element(elName);
if (item == null) return defvalue;
if (item.IsEmpty) return defvalue;
return item.Value;
}
}
}