public static ReviewFile ParsingReviewFileData(string a_sFileName) { if (IsMatchingReviewFileFormat(a_sFileName) == false) { return(null); } ReviewFile reviewData = new ReviewFile(); var arName = a_sFileName.Split(chNameSeperator); int nLen = arName.Length; // 파일명에 @가 포함되있을 경우를 고려해 마지막부터 파싱 // 구분자 이후 마지막 문자열 : 확장자 + 마지막 복습일 string s = arName[nLen - 1]; reviewData.m_sReviewDate = System.IO.Path.GetFileNameWithoutExtension(s); reviewData.m_sExtension = System.IO.Path.GetExtension(s); // 그 이전 문자열 : 공부 시작일 s = arName[nLen - 2]; reviewData.m_sStartDate = s; // 그 이전 : 공부한 횟수 s = arName[nLen - 3]; reviewData.m_nStudyCount = int.Parse(s); // 파일명 s = arName[nLen - 4]; reviewData.m_sName_NoExt = s; return(reviewData); }
public static string GetReviewFileName(ReviewFile a_refData) { if (a_refData == null) { Define.LogError("arg error"); return(string.Empty); } StringBuilder s = new StringBuilder(); s.Append(System.IO.Path.GetFileNameWithoutExtension(a_refData.m_sName_NoExt)); s.Append(chNameSeperator); s.Append(string.Format("{0:0000}", a_refData.m_nStudyCount)); s.Append(chNameSeperator); s.Append(a_refData.m_sStartDate); s.Append(chNameSeperator); s.Append(a_refData.m_sReviewDate); s.Append(a_refData.m_sExtension); return(s.ToString()); }