'분류 전체보기'에 해당되는 글 157건
- 2009.01.24 Setting 부분 파일화.. (HashTable 이용)
- 2009.01.24 코딩 편의용 연속 Data Row를 Col로 Col을 Row로
- 2009.01.24 파일 이름 빼내기
file을 불러온후 HashTable에 셋팅하여 사용
셋팅 파일에는 한줄 주석으로 '#'사용 가능
ID는 공백사용 불가
대략 중요 알고
private bool ToCode() { int CollMax = 0;//칼럼 최대 길이 int RowOffset = 0;//열 offset값 FileStream fs = new FileStream(this.path, FileMode.Open); FileStream fs_c = new FileStream(this.path + "_C", FileMode.Create); StreamWriter writer_c = new StreamWriter(fs_c); StreamReader reader = new StreamReader(fs); fs.Seek(0, SeekOrigin.Begin); string buffer = reader.ReadToEnd(); string[] strSplit = { "rn" }; string[] row = buffer.Split(strSplit,StringSplitOptions.None);//row 계산하기 for (int i = 0; i < row.Length; i++) { if (row[i] == "") RowOffset++; } string[][] Table = new string[row.Length][];//테이블 Row결정 //가변 테이블 만들기 for (int i = 0; row.Length-RowOffset > i; i++) { string[] temp = row[i].Split('t'); if (temp.Length > CollMax) CollMax = temp.Length; Table[i]= new string[temp.Length]; Table[i] = temp; } try//파일에 출력 { for (int i = 0; i < CollMax; i++) { if (Table[i] != null) { for (int j = 0; j < row.Length - RowOffset; j++) { if (Table[j][i] != "") { writer_c.Write(""" + Table[j][i] + "", "); writer_c.Flush(); } } writer_c.WriteLine(); writer_c.Flush(); } } } catch { return false; } reader.Close(); writer_c.Close(); fs_c.Close(); fs.Close(); return true; } private bool ToExcel() { int CollumOffset = 0; int RowMax = 0; FileStream fs = new FileStream(this.path, FileMode.Open,FileAccess.Read); FileStream fs_c = new FileStream(this.path + "_C", FileMode.OpenOrCreate,FileAccess.Write); StreamWriter writer_c = new StreamWriter(fs_c); StreamReader reader = new StreamReader(fs); fs_c.Seek(0, SeekOrigin.Begin); fs.Seek(0, SeekOrigin.Begin); string buffer = reader.ReadToEnd(); string[] liner = { "rn" };//컬럼 분류 string[] temp = buffer.Split(liner, StringSplitOptions.None); for (int i = 0; i < temp.Length; i++) { if (temp[i] == ""|| temp[i] == " ") CollumOffset++;//필요없는 부분을 위한 옵셋 } char[] spliet = {'"',' ',','}; string[][] Table = new string[temp.Length-CollumOffset][]; for (int i = 0; i < Table.Length; i++) {//열 데이터 셋팅 Table[i] = temp[i].Split(spliet,StringSplitOptions.RemoveEmptyEntries); if (Table[i].Length > RowMax) RowMax = Table[i].Length;//열의 최대수 구하기 } try {//파일에 쓰기 for (int i = 0; i < RowMax; i++) { for (int j = 0; j < (temp.Length - CollumOffset); j++) { try { writer_c.Write(Table[j][i]); writer_c.Write("t"); writer_c.Flush(); } catch//범위를 벗어났을때의 예외 처리 { writer_c.Write("t"); writer_c.Flush(); } } writer_c.Write("rn"); writer_c.Flush(); } } catch { return false; } reader.Close(); writer_c.Close(); fs_c.Close(); fs.Close(); return true; } }
static void Main(string[] args) { string temp = @"c:TextDirtest.txt"; string test = temp.Substring((temp.LastIndexOf('\')),(temp.Length-temp.LastIndexOf('\'))); Console.WriteLine(test); }