일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- aspnet
- 태그를 입력해 주세요.
- attr()
- 윈도우
- SSRS
- microsoft
- 이클립스
- c#
- 단축키
- MS
- 마이크로소프트
- ASP
- IIS
- Winform
- windows
- 오라클
- jQuery
- oracle
- 자바스크립트
- CONVERT()
- 윈폼
- 엑셀
- DataGrid
- 리포팅서비스
- MSSQL
- Excel
- 프로시저
- 비주얼스튜디오
- javascript
- replace()
- Today
- Total
DJ메탈짱™의 Free Style
[C#, Winform, 윈폼] OpenFileDialog, 파일불러오기, Text, FileStream, StreamReader, List 컬렉션에 저장 본문
[C#, Winform, 윈폼] OpenFileDialog, 파일불러오기, Text, FileStream, StreamReader, List 컬렉션에 저장
뽀&쏭 2016. 1. 7. 13:50OpenFileDialog 컨트롤을 사용하여 파일을 불러오고,
불러온 파일의 내용을 List 컬렉션에 담아서 반환한다.
private void OpenFileDialog()
{
List<string> rList = new List<string>();
using (OpenFileDialog opd = new OpenFileDialog())
{
opd.DefaultExt = "All files"; // 기본 파일타입 설정
opd.Filter = "All files (*.*)|*.*"; // 파일타입
opd.Multiselect = false; // 다중선택되지 않도록.
string strAppDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
opd.InitialDirectory = strAppDir; // 파일불러오기를 했을 때 제일 처음에 열리는 디렉토리 설정
if (opd.ShowDialog() == DialogResult.OK)
{
try
{
if (opd.SafeFileName.LastIndexOf(".") > -1)
{
MessageBox.Show("확장자가 존재하는 파일은 선택하실 수 없습니다.");
return;
}
string fileName = opd.FileName;
// 선택한 파일을 Open
rList = ReadTextFileToList(fileName);
}
catch (Exception ex)
{
MessageBox.Show(ex.InnerException != null ? ex.InnerException.Message : ex.Message);
}
}
}
}
/// <summary>
/// 작성일 : 2013/11/15
/// 작성자 : 최보현
/// OpenFileDialog에 의해 선택된 파일을 List컬렉션에 담는다
/// </summary>
/// <param name="fileName">파일명</param>
/// <returns>List Collections</returns>
private List<string> ReadTextFileToList(string fileName)
{
List<string> readStreamReaderList = new List<string>();
using (FileStream iStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
using (StreamReader reader = new StreamReader(iStream, Encoding.Default))
{
reader.BaseStream.Seek(0, SeekOrigin.Begin);
while (reader.Peek() > -1)
{
readStreamReaderList.Add(reader.ReadLine());
}
reader.Close();
iStream.Close();
}
}
return readStreamReaderList;
}