C#공통 파일 작업
C#공통 파일 작업
- 블로그 가든에서 발췌
C#파일 추가
StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt");
sw.WriteLine(" ");
sw.WriteLine("kzlll");
sw.WriteLine(".NET ");
sw.Flush();
sw.Close();
C# 파일 복사
string OrignFile,NewFile;
OrignFile = Server.MapPath(".")+"\\myText.txt";
NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Copy(OrignFile,NewFile,true);
C# 파일 삭제
string delFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Delete(delFile);
C# 파일 이동
string OrignFile,NewFile;
OrignFile = Server.MapPath(".")+"\\myText.txt";
NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Move(OrignFile,NewFile);
C#디렉토리 만들기
// c:\sixAge
DirectoryInfo d=Directory.CreateDirectory("c:\\sixAge");
// d1 c:\sixAge\sixAge1
DirectoryInfo d1=d.CreateSubdirectory("sixAge1");
// d2 c:\sixAge\sixAge1\sixAge1_1
DirectoryInfo d2=d1.CreateSubdirectory("sixAge1_1");
// c:\sixAge
Directory.SetCurrentDirectory("c:\\sixAge");
// c:\sixAge\sixAge2
Directory.CreateDirectory("sixAge2");
// c:\sixAge\sixAge2\sixAge2_1
Directory.CreateDirectory("sixAge2\\sixAge2_1");
지정한 폴더 아래의 모든 내용을 대상 폴더 아래로 복사
public static void CopyDir(string srcPath,string aimPath)
{
try
{
//
if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
aimPath += Path.DirectorySeparatorChar;
//
if(!Directory.Exists(aimPath)) Directory.CreateDirectory(aimPath);
// ,
// copy
// string[] fileList = Directory.GetFiles(srcPath);
string[] fileList = Directory.GetFileSystemEntries(srcPath);
//
foreach(string file in fileList)
{
// Copy
if(Directory.Exists(file))
CopyDir(file,aimPath+Path.GetFileName(file));
// Copy
else
File.Copy(file,aimPath+Path.GetFileName(file),true);
}
}
catch (Exception e)
{
MessageBox.Show (e.ToString());
}
}
하위 폴더를 포함한 폴더를 지정된 폴더 아래로 복사하려면 소스 폴더와 대상 폴더의 절대 경로가 필요합니다.형식: CopyFolder(소스 폴더, 대상 폴더),
public static void CopyFolder(string strFromPath,string strToPath)
{
// ,
if (!Directory.Exists(strFromPath))
{
Directory.CreateDirectory(strFromPath);
}
//
string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("\\") + 1,strFromPath.Length - strFromPath.LastIndexOf("\\") - 1);
//
if (!Directory.Exists(strToPath + "\\" + strFolderName))
{
Directory.CreateDirectory(strToPath + "\\" + strFolderName);
}
//
string[] strFiles = Directory.GetFiles(strFromPath);
//
for(int i = 0;i < strFiles.Length;i++)
{
// , , 。
string strFileName = strFiles[i].Substring(strFiles[i].LastIndexOf("\\") + 1,strFiles[i].Length - strFiles[i].LastIndexOf("\\") - 1);
// ,true
File.Copy(strFiles[i],strToPath + "\\" + strFolderName + "\\" + strFileName,true);
}
// DirectoryInfo
DirectoryInfo dirInfo = new DirectoryInfo(strFromPath);
//
DirectoryInfo[] ZiPath = dirInfo.GetDirectories();
for (int j = 0;j < ZiPath.Length;j++)
{
//
string strZiPath = strFromPath + "\\" + ZiPath[j].ToString();
// ,
CopyFolder(strZiPath,strToPath + "\\" + strFolderName);
}
}
텍스트 파일 읽기
private void ReadFromTxtFile()
{
if(filePath.PostedFile.FileName != "")
{
txtFilePath =filePath.PostedFile.FileName;
fileExtName = txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);
if(fileExtName !="txt" && fileExtName != "TXT")
{
Response.Write(" ");
}
else
{
StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default);
txtContent.Text = fileStream.ReadToEnd();
fileStream.Close();
}
}
}
로그 파일 읽기
private void ReadLogFile()
{
/**////
FileStream fs = new FileStream(Server.MapPath("upedFile")+"\\logfile.txt", FileMode.OpenOrCreate, FileAccess.Read);
/**////
StringBuilder output = new StringBuilder();
/**//// 0
output.Length = 0;
/**////
StreamReader read = new StreamReader(fs);
/**////
read.BaseStream.Seek(0, SeekOrigin.Begin);
/**////
while (read.Peek() > -1)
{
/**////
output.Append(read.ReadLine() + "
");
}
/**////
read.Close();
/**////
return output.ToString();
}
로그 파일 쓰기
private void WriteLogFile(string input)
{
/**////
string fname = Server.MapPath("upedFile") + "\\logfile.txt";
/**////
FileInfo finfo = new FileInfo(fname);
/**//// 2K
if ( finfo.Exists && finfo.Length > 2048 )
{
/**////
finfo.Delete();
}
/**////
using(FileStream fs = finfo.OpenWrite())
{
/**////
StreamWriter w = new StreamWriter(fs);
/**////
w.BaseStream.Seek(0, SeekOrigin.End);
/**//// “Log Entry : ”
w.Write("
Log Entry : ");
/**////
w.Write("{0} {1} \r
", DateTime.Now.ToLongTimeString(),
DateTime.Now.ToLongDateString());
/**////
w.Write(input + "
");
/**//// ------------------------------------“
w.Write("------------------------------------
");
/**//// ,
w.Flush();
/**////
w.Close();
}
}
HTML 파일 만들기
private void CreateHtmlFile()
{
/**//// html
string[] newContent = new string[5];
StringBuilder strhtml = new StringBuilder();
try
{
/**//// StreamReader
using (StreamReader sr = new StreamReader(Server.MapPath("createHTML") + "\\template.html"))
{
String oneline;
/**//// HTML
while ((oneline = sr.ReadLine()) != null)
{
strhtml.Append(oneline);
}
sr.Close();
}
}
catch(Exception err)
{
/**////
Response.Write(err.ToString());
}
/**////
newContent[0] = txtTitle.Text;//
newContent[1] = "BackColor='#cccfff'";//
newContent[2] = "#ff0000";//
newContent[3] = "100px";//
newContent[4] = txtContent.Text;//
/**//// html
try
{
/**//// HTML
string fname = Server.MapPath("createHTML") +"\\" + DateTime.Now.ToString("yyyymmddhhmmss") + ".html";
/**//// html
for(int i=0;i < 5;i++)
{
strhtml.Replace("$htmlkey["+i+"]",newContent[i]);
}
/**////
FileInfo finfo = new FileInfo(fname);
/**////
using(FileStream fs = finfo.OpenWrite())
{
/**////
StreamWriter sw = new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
/**//// HTML
sw.WriteLine(strhtml);
sw.Flush();
sw.Close();
}
/**////
hyCreateFile.Text = DateTime.Now.ToString("yyyymmddhhmmss")+".html";
hyCreateFile.NavigateUrl = "createHTML/"+DateTime.Now.ToString("yyyymmddhhmmss")+".html";
}
catch(Exception err)
{
Response.Write (err.ToString());
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.