wxArrayString ReadAllLines(wxInputStream& input) { wxString text = ReadAllText(input); wxStringTokenizer tokenizer(text, "\r\n"); wxArrayString lineList; while (tokenizer.HasMoreTokens()) { lineList.Add(tokenizer.NextToken()); } return lineList; }
HRESULT CFileHelper::ReadObject(LPCTSTR path, IDataSerializable & data) { String text ; HRESULT hr = ReadAllText(path, text); if(FAILED(hr)) return hr; IDataNode * pNode = NULL; hr = PROFILE_PARSER()->ParseJson(VARIANT_BSTR(text.c_str()), NULL, &pNode); if(FAILED(hr)) return hr; CDataSerialize serialize(FALSE, pNode) ; pNode->Release(); return data.Read(serialize); }
HRESULT CFileHelper::ReadLines(LPCTSTR path, vector<String> & lines) { String text; HRESULT hr = ReadAllText(path, text); if(FAILED(hr)) return hr; vector<String> temp; BOOL b = CStringHelper::Split(text.c_str(), _T('\n'), temp); if(!b) return E_FAIL; for(vector<String>::iterator it = temp.begin(), end = temp.end(); it != end ;it++) { String line = CStringHelper::Trim(it->c_str() ,_T('\r')); lines.push_back(line); } return S_OK; }
WString File::ReadAllText()const { WString text; ReadAllText(text); return text; }