123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- // WRFileDATA.cpp: implementation of the WRFileDATA class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "WRFileDATA.h"
- #ifdef _DEBUG
- #undef THIS_FILE
- static char THIS_FILE[]=__FILE__;
- #define new DEBUG_NEW
- #endif
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- WRFileDATA::WRFileDATA()
- {
- }
- WRFileDATA::~WRFileDATA()
- {
- }
- CString WRFileDATA::ReadDataFromFile(CString m_sPathName, CString sData)
- {
- CString sTemp,strTemp1,strTemp2,sTemp2;
- CStdioFile File;
-
- if(!File.Open(m_sPathName,CFile::modeRead))
- File.Open(m_sPathName,CFile::modeCreate|CFile::modeRead);
- while(File.ReadString(sTemp))//定义一个CString变量sTemp作为缓冲区
- {
- int count = sTemp.Find(" ",0);
- int count2=sTemp.GetLength();
- //CString s;s.Format("%d",count);AfxMessageBox(s);
- strTemp1 = sTemp.Left(count);
- if(strTemp1==sData)
- {
- return sTemp.Mid(count+1,count2-1);
- }
- }
- File.Close();
- return "";
- }
- void WRFileDATA::ReadAllDataFromFileToOtherFile(CString m_sTempPathName,CString m_sPathName)
- {
- CString sTemp,strTemp1,strTemp2,sTemp2;
- CStdioFile File;
- if(!File.Open(m_sTempPathName,CFile::modeRead))
- File.Open(m_sTempPathName,CFile::modeCreate|CFile::modeRead);
- while(File.ReadString(sTemp))
- {
- WriteDataToFileForAdd(m_sPathName,sTemp);
- }
- File.Close();
- }
- void WRFileDATA::ReadAllDataFromFileToOtherFileAndDeleteTemp(CString m_sTempPathName,CString m_sPathName)
- {
- CString sTemp,strTemp1,strTemp2,sTemp2;
- CStdioFile File;
- if(!File.Open(m_sTempPathName,CFile::modeRead))
- File.Open(m_sTempPathName,CFile::modeCreate|CFile::modeRead);
- while(File.ReadString(sTemp))
- {
- WriteDataToFileForAdd(m_sPathName,sTemp);
- }
- File.Close();
- DeleteFile(m_sTempPathName);
- }
- bool WRFileDATA::DeleteDataFromFile(CString m_sPathName,CString sData,int iFindType )
- {
- CString sTemp,strTemp,strTemp1,strTemp2;
- CStdioFile File;//,FileTemp;
- if(!File.Open("c:\\temp.txt",CFile::modeRead))
- File.Open("c:\\temp.txt",CFile::modeCreate|CFile::modeReadWrite);
- File.Close();
- if(!File.Open(m_sPathName,CFile::modeRead))
- {
- File.Open(m_sPathName,CFile::modeCreate|CFile::modeReadWrite);
- }
- while(File.ReadString(sTemp))
- {
- if( iFindType==0 )
- {
- if(sTemp!=sData)
- {
- WriteDataToFileForAdd("c:\\temp.txt",sTemp);
- }
- }
- else
- {
- if( -1==sTemp.Find(sData) )
- {
- WriteDataToFileForAdd("c:\\temp.txt",sTemp);
- }
- }
- }
- File.Close();
- DeleteFile(m_sPathName);
- CopyFile("c:\\temp.txt",m_sPathName,false);
- DeleteFile("c:\\temp.txt");
- return true;
- }
- bool WRFileDATA::SearchDataFromFile(CString m_sPathName,CString sData,int iFindType )
- {
- CString sTemp,strTemp1,strTemp2,sTemp2;
- CStdioFile File;
- if(!File.Open(m_sPathName,CFile::modeRead))
- File.Open(m_sPathName,CFile::modeCreate|CFile::modeRead);
- while(File.ReadString(sTemp))
- {
- if( iFindType==0 )
- {
- if(sTemp==sData)
- {
- File.Close();
- return true;
- }
- }
- else
- {
- if( -1!=sTemp.Find(sData) )
- {
- File.Close();
- return true;
- }
- }
- }
- File.Close();
- return false;
- }
- bool WRFileDATA::SearchFileExist(CString strFileName)
- {
- CStdioFile File;
- if(!File.Open(strFileName,CFile::modeRead))
- return false;
- else
- {
- File.Close();
- return true;
- }
- }
- bool WRFileDATA::WriteDataToFileForAdd(CString m_sPathName, CString sData)
- {
- // AfxMessageBox("a");
- CString strTemp;
- CStdioFile MyFile;
- if(!MyFile.Open(m_sPathName,CFile::modeWrite))
- MyFile.Open(m_sPathName,CFile::modeCreate|CFile::modeWrite);
-
- strTemp.Format("%s\n",sData);
- MyFile.SeekToEnd();
- MyFile.WriteString(strTemp);
- MyFile.Close();
- MakeFileHidden(m_sPathName);
- return true;
- }
- bool WRFileDATA::WriteDataToFileForOver(CString m_sPathName,CString sData)
- {
- // if(!SearchDataFromFile(m_sPathName,sData))
- // return false;
- CString strTemp;
- CStdioFile MyFile;
- if(!MyFile.Open(m_sPathName,CFile::modeWrite))
- MyFile.Open(m_sPathName,CFile::modeCreate|CFile::modeWrite);
- MyFile.WriteString(sData);
- MyFile.Close();
- MakeFileHidden(m_sPathName);
- return true;
- }
- bool WRFileDATA::MakeFileHidden(CString StrFileName)
- {
- DWORD dwAttrs;
- dwAttrs=GetFileAttributes(StrFileName);
- if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN))
- {
- SetFileAttributes(StrFileName,dwAttrs|FILE_ATTRIBUTE_HIDDEN);
- }
- return true;
- }
- void WRFileDATA::DelectFileWR(CString filePath)
- {
- DeleteFile(filePath);
- }
- bool WRFileDATA::FindDirectory(CString DirectoryName)
- {
- bool re=false;
-
- re=PathFileExists(DirectoryName);
- ////if(DirectoryName!="C:\\WINDOWS")
- //{
- // DWORD dwAttrs;
- // dwAttrs=GetFileAttributes(DirectoryName);
- // if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN))
- // {
- // SetFileAttributes(DirectoryName,dwAttrs);
- // }
- //}
- return re;
- }
- bool WRFileDATA::CreateDirectory(CString DirectoryName)
- {
- bool re=false;
- ::CreateDirectory(DirectoryName,NULL);
- DWORD dwAttrs;
- dwAttrs=GetFileAttributes(DirectoryName);
- if(!(dwAttrs & FILE_ATTRIBUTE_HIDDEN))
- {
- SetFileAttributes(DirectoryName,dwAttrs|FILE_ATTRIBUTE_HIDDEN);
- }
- return re;
- }
- void WRFileDATA::ExistDirectory(CString FilePath)
- {
- int nStart = 3;
- CString sTemp;
- for(int n = nStart;n<FilePath.GetLength();n++)
- {
- if(FilePath[n]=='\\')
- {
-
- sTemp = FilePath.Left(n);
- if(!FindDirectory(sTemp))
- CreateDirectory(sTemp);
- }
- }
- }
|