Telerik 사의 Radcontrol 사용해서 UI 만드는 중에 파일을 읽어오고 만들고 코드를 만드는 중입니다.
기회가 되면 RadControls for WinForms 에 대해 조금씩 포스팅을 할 예정입니다. 이쁘기도 하고 강력한 기능들이 많죠.
아래가 정해진 파일을 검사해서 파일이 실행파일과 같은 디렉토리에 있으면 정해진 변수에 한쭐씩 읽어서 할당하고
없으면 파일을 만드는 함수를 호출합니다.
private void Load_Initvaluefile()
{
FileStream fs = null;
StreamReader sr = null;
string Initialsetupfile = "initsetup.ini";
if (!File.Exists(Initialsetupfile)) // If the file does not exist
{
make_setupfile();
}
else
{
try
{
fs = new FileStream(Initialsetupfile, FileMode.OpenOrCreate, FileAccess.Read);
sr = new StreamReader(fs, Encoding.Default);
string message = string.Empty;
/*while ((message = sr.ReadLine()) != null)
{
// setup after read state
}*/
string message1 = sr.ReadLine().ToLower(); // fan number
string message2 = sr.ReadLine().ToLower(); // cfm of fan
string message3 = sr.ReadLine().ToLower(); // volumn
}
catch (IOException ee)
{
MessageBox.Show(ee.Message);
}
finally
{
sr.Close();
fs.Close();
}
}
}
파일이름을 할당하고요~ 실행파일이 있는 위치에 파일이 있는지 검사하고
파일이 없으면 make_setupfile(); 를 실행합니다. 소스는 아래에~
파일이 있는 경우 위에서 생성한 파일 스트림과 스트림 리더를 사용해서 한줄씩 읽어다가 변수에 넣는데
스트링이나 정수 실수 타입으로 파싱해서 집어 넣으면 됩니다.
try, catch, finally 를 사용해서 에러처리 까지 친절하게 해주고 반드시 파일 스트림과 스트림 리더는 닫아주어야 합니다.
아래는 make_setupfile(); 의 코드입니다. 초기값 - 디폴트값으로 한줄씩 써주게 되면 파일이 만들어지죠..
private void make_setupfile()
{
FileStream fs = null;
StreamWriter sw = null;
string setupfile = "initsetup.ini";
try
{
fs = new FileStream(setupfile, FileMode.OpenOrCreate, FileAccess.Write);
sw = new StreamWriter(fs, Encoding.Default);
string message = string.Empty;
sw.WriteLine("2");
sw.WriteLine("18.8");
sw.WriteLine("7");
}
catch (IOException ee)
{
MessageBox.Show(ee.Message);
}
finally
{
sw.Close();
fs.Close();
}
}
파일스트림과 스트림 리더를 생성하고 파일 이름을 정해주고, 파일 오픈해서 내용을 써주고 마찬가지로
try, catch, finally 사용해서 에러 처리를 해주고 닫습니다.
이런것들을 많이 라이브러리 화 해놓으면 - 파일네임 하나 던져주면서 객체 생성하는 방식으로 - 코딩하는게 편해지겠죠~
도움되었으면 합니다. 이만 총총...
'개발자 > C#' 카테고리의 다른 글
파일의 재구성~ 파일 이름 다루고, 파일 구성을 바꾸기 (0) | 2012.10.08 |
---|---|
c# 콤보박스 자동 완성 기능을 구현하는 다른 방법 (0) | 2012.10.01 |
c# 콤보박스 자동완성 기능을 구현 - 리스트박스,텍스트박스에서도 동일한 원리 (1) | 2012.09.26 |
Infrasound 관측망과 인공발파 식별연구 (0) | 2012.07.29 |
정수에서 1이 설정된 비트(Bit) 수 세기 (0) | 2012.07.17 |
wfdisc 파일정보 보여주는 프로그램 (0) | 2011.12.30 |
상속이냐 합성이냐 (0) | 2011.03.10 |
35 Free C and C++ Programming Books and Ebooks (0) | 2011.03.01 |
더욱 좋은 정보를 제공하겠습니다.~ ^^