WRFileDATA.cpp 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. // WRFileDATA.cpp: implementation of the WRFileDATA class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "WRFileDATA.h"
  6. #ifdef _DEBUG
  7. #undef THIS_FILE
  8. static char THIS_FILE[]=__FILE__;
  9. #define new DEBUG_NEW
  10. #endif
  11. //////////////////////////////////////////////////////////////////////
  12. // Construction/Destruction
  13. //////////////////////////////////////////////////////////////////////
  14. WRFileDATA::WRFileDATA()
  15. {
  16. }
  17. WRFileDATA::~WRFileDATA()
  18. {
  19. }
  20. CString WRFileDATA::ReadDataFromFile(CString m_sPathName, CString sData)
  21. {
  22. CString sTemp,strTemp1,strTemp2,sTemp2;
  23. CStdioFile File;
  24. if(!File.Open(m_sPathName,CFile::modeRead))
  25. File.Open(m_sPathName,CFile::modeCreate|CFile::modeRead);
  26. while(File.ReadString(sTemp))//定义一个CString变量sTemp作为缓冲区
  27. {
  28. int count = sTemp.Find(" ",0);
  29. int count2=sTemp.GetLength();
  30. //CString s;s.Format("%d",count);AfxMessageBox(s);
  31. strTemp1 = sTemp.Left(count);
  32. if(strTemp1==sData)
  33. {
  34. return sTemp.Mid(count+1,count2-1);
  35. }
  36. }
  37. File.Close();
  38. return "";
  39. }
  40. void WRFileDATA::ReadAllDataFromFileToOtherFile(CString m_sTempPathName,CString m_sPathName)
  41. {
  42. CString sTemp,strTemp1,strTemp2,sTemp2;
  43. CStdioFile File;
  44. if(!File.Open(m_sTempPathName,CFile::modeRead))
  45. File.Open(m_sTempPathName,CFile::modeCreate|CFile::modeRead);
  46. while(File.ReadString(sTemp))
  47. {
  48. WriteDataToFileForAdd(m_sPathName,sTemp);
  49. }
  50. File.Close();
  51. }
  52. void WRFileDATA::ReadAllDataFromFileToOtherFileAndDeleteTemp(CString m_sTempPathName,CString m_sPathName)
  53. {
  54. CString sTemp,strTemp1,strTemp2,sTemp2;
  55. CStdioFile File;
  56. if(!File.Open(m_sTempPathName,CFile::modeRead))
  57. File.Open(m_sTempPathName,CFile::modeCreate|CFile::modeRead);
  58. while(File.ReadString(sTemp))
  59. {
  60. WriteDataToFileForAdd(m_sPathName,sTemp);
  61. }
  62. File.Close();
  63. DeleteFile(m_sTempPathName);
  64. }
  65. bool WRFileDATA::DeleteDataFromFile(CString m_sPathName,CString sData,int iFindType )
  66. {
  67. CString sTemp,strTemp,strTemp1,strTemp2;
  68. CStdioFile File;//,FileTemp;
  69. if(!File.Open("c:\\temp.txt",CFile::modeRead))
  70. File.Open("c:\\temp.txt",CFile::modeCreate|CFile::modeReadWrite);
  71. File.Close();
  72. if(!File.Open(m_sPathName,CFile::modeRead))
  73. {
  74. File.Open(m_sPathName,CFile::modeCreate|CFile::modeReadWrite);
  75. }
  76. while(File.ReadString(sTemp))
  77. {
  78. if( iFindType==0 )
  79. {
  80. if(sTemp!=sData)
  81. {
  82. WriteDataToFileForAdd("c:\\temp.txt",sTemp);
  83. }
  84. }
  85. else
  86. {
  87. if( -1==sTemp.Find(sData) )
  88. {
  89. WriteDataToFileForAdd("c:\\temp.txt",sTemp);
  90. }
  91. }
  92. }
  93. File.Close();
  94. DeleteFile(m_sPathName);
  95. CopyFile("c:\\temp.txt",m_sPathName,false);
  96. DeleteFile("c:\\temp.txt");
  97. return true;
  98. }
  99. bool WRFileDATA::SearchDataFromFile(CString m_sPathName,CString sData,int iFindType )
  100. {
  101. CString sTemp,strTemp1,strTemp2,sTemp2;
  102. CStdioFile File;
  103. if(!File.Open(m_sPathName,CFile::modeRead))
  104. File.Open(m_sPathName,CFile::modeCreate|CFile::modeRead);
  105. while(File.ReadString(sTemp))
  106. {
  107. if( iFindType==0 )
  108. {
  109. if(sTemp==sData)
  110. {
  111. File.Close();
  112. return true;
  113. }
  114. }
  115. else
  116. {
  117. if( -1!=sTemp.Find(sData) )
  118. {
  119. File.Close();
  120. return true;
  121. }
  122. }
  123. }
  124. File.Close();
  125. return false;
  126. }
  127. bool WRFileDATA::SearchFileExist(CString strFileName)
  128. {
  129. CStdioFile File;
  130. if(!File.Open(strFileName,CFile::modeRead))
  131. return false;
  132. else
  133. {
  134. File.Close();
  135. return true;
  136. }
  137. }
  138. bool WRFileDATA::WriteDataToFileForAdd(CString m_sPathName, CString sData)
  139. {
  140. // AfxMessageBox("a");
  141. CString strTemp;
  142. CStdioFile MyFile;
  143. if(!MyFile.Open(m_sPathName,CFile::modeWrite))
  144. MyFile.Open(m_sPathName,CFile::modeCreate|CFile::modeWrite);
  145. strTemp.Format("%s\n",sData);
  146. MyFile.SeekToEnd();
  147. MyFile.WriteString(strTemp);
  148. MyFile.Close();
  149. MakeFileHidden(m_sPathName);
  150. return true;
  151. }
  152. bool WRFileDATA::WriteDataToFileForOver(CString m_sPathName,CString sData)
  153. {
  154. // if(!SearchDataFromFile(m_sPathName,sData))
  155. // return false;
  156. CString strTemp;
  157. CStdioFile MyFile;
  158. if(!MyFile.Open(m_sPathName,CFile::modeWrite))
  159. MyFile.Open(m_sPathName,CFile::modeCreate|CFile::modeWrite);
  160. MyFile.WriteString(sData);
  161. MyFile.Close();
  162. MakeFileHidden(m_sPathName);
  163. return true;
  164. }
  165. bool WRFileDATA::MakeFileHidden(CString StrFileName)
  166. {
  167. DWORD dwAttrs;
  168. dwAttrs=GetFileAttributes(StrFileName);
  169. if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN))
  170. {
  171. SetFileAttributes(StrFileName,dwAttrs|FILE_ATTRIBUTE_HIDDEN);
  172. }
  173. return true;
  174. }
  175. void WRFileDATA::DelectFileWR(CString filePath)
  176. {
  177. DeleteFile(filePath);
  178. }
  179. bool WRFileDATA::FindDirectory(CString DirectoryName)
  180. {
  181. bool re=false;
  182. re=PathFileExists(DirectoryName);
  183. ////if(DirectoryName!="C:\\WINDOWS")
  184. //{
  185. // DWORD dwAttrs;
  186. // dwAttrs=GetFileAttributes(DirectoryName);
  187. // if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN))
  188. // {
  189. // SetFileAttributes(DirectoryName,dwAttrs);
  190. // }
  191. //}
  192. return re;
  193. }
  194. bool WRFileDATA::CreateDirectory(CString DirectoryName)
  195. {
  196. bool re=false;
  197. ::CreateDirectory(DirectoryName,NULL);
  198. DWORD dwAttrs;
  199. dwAttrs=GetFileAttributes(DirectoryName);
  200. if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN))
  201. {
  202. SetFileAttributes(DirectoryName,dwAttrs|FILE_ATTRIBUTE_HIDDEN);
  203. }
  204. return re;
  205. }
  206. void WRFileDATA::ExistDirectory(CString FilePath)
  207. {
  208. int nStart = 3;
  209. CString sTemp;
  210. for(int n = nStart;n<FilePath.GetLength();n++)
  211. {
  212. if(FilePath[n]=='\\')
  213. {
  214. sTemp = FilePath.Left(n);
  215. if(!FindDirectory(sTemp))
  216. CreateDirectory(sTemp);
  217. }
  218. }
  219. }