Moduł Files


Komponenty

class  common::FileStream
 Strumień plikowy. Więcej...
class  common::DirLister
 Klasa do listowania zawartości katalogu. Więcej...

Wyliczenia

enum  common::FILE_ITEM_TYPE { common::IT_NONE, common::IT_DIR, common::IT_FILE }
 Rodzaj elementu systemu plików. Więcej...
enum  common::FILE_MODE {
  common::FM_WRITE, common::FM_WRITE_PLUS, common::FM_READ, common::FM_READ_PLUS,
  common::FM_APPEND, common::FM_APPEND_PLUS
}
 Tryb otwarcia pliku. Więcej...
enum  common::FILE_ENCODING {
  common::FILE_ENCODING_UTF16_LE = 1, common::FILE_ENCODING_UTF8 = 2, common::FILE_ENCODING_ANSI = 3, common::FILE_ENCODING_FORCE_BOM = 0x00010000,
  common::FILE_ENCODING_NO_BOM = 0x00020000, common::FILE_ENCODING_AUTODETECT = 0x00040000
}
 Kodowanie pliku tekstowego. Więcej...

Funkcje

void common::SaveStringToFile (const tstring &FileName, const string &Data)
 Zapisuje podany łańcuch jako treść pliku.
void common::SaveDataToFile (const tstring &FileName, const void *Data, size_t NumBytes)
 Zapisuje podany łańcuch jako treść pliku.
void common::LoadStringFromFile (const tstring &FileName, string *Data)
 Wczytuje całą zawartość pliku do łańcucha.
void common::SaveStringToFile (const tstring &FileName, const wstring &Data)
 Wersje Unicode.
void common::LoadStringFromFile (const tstring &FileName, wstring *Data)
bool common::GetFileItemInfo (const tstring &Path, FILE_ITEM_TYPE *OutType, uint *OutSize, DATETIME *OutModificationTime, DATETIME *OutCreationTime=NULL, DATETIME *OutAccessTime=NULL)
 Zwraca wybrane informacje na temat pliku/katalogu.
void common::MustGetFileItemInfo (const tstring &Path, FILE_ITEM_TYPE *OutType, uint *OutSize, DATETIME *OutModificationTime, DATETIME *OutCreationTime=NULL, DATETIME *OutAccessTime=NULL)
FILE_ITEM_TYPE common::GetFileItemType (const tstring &Path)
 Zwraca typ - czy to jest plik, katalog czy błąd/nie-istnieje.
bool common::UpdateFileTimeToNow (const tstring &FileName)
 Ustawia czas dostępu i modyfikacji podanego pliku na bieżący.
void common::MustUpdateFileTimeToNow (const tstring &FileName)
bool common::UpdateFileTime (const tstring &FileName, const DATETIME &ModificationTime, const DATETIME &AccessTime)
 Ustawia czas dostępu i modyfikacji podanego pliku na podane.
void common::MustUpdateFileTime (const tstring &FileName, const DATETIME &ModificationTime, const DATETIME &AccessTime)
bool common::CreateDirectory (const tstring &Path)
 Tworzy katalog.
void common::MustCreateDirectory (const tstring &Path)
bool common::DeleteDirectory (const tstring &Path)
 Usuwa katalog.
void common::MustDeleteDirectory (const tstring &Path)
bool common::CreateDirectoryChain (const tstring &Path)
 Tworzy całą ścieżkę katalogów aż po podanego, np. "C:\A\B\C" nawet jeśli nie istniał nawet "C:\A".
void common::MustCreateDirectoryChain (const tstring &Path)
bool common::DeleteFile (const tstring &FileName)
 Usuwa plik.
void common::MustDeleteFile (const tstring &FileName)
bool common::MoveItem (const tstring &OldPath, const tstring &NewPath)
 Przenosi lub zmienia nazwę pliku lub katalogu.
void common::MustMoveItem (const tstring &OldPath, const tstring &NewPath)
void common::SaveUnicodeToFile (const tstring &FileName, const wstring &Data, unsigned Encoding)
 Zapisuje tekst Unicode do pliku w podanym kodowaniu.
void common::SaveUnicodeToFile (const tstring &FileName, const wchar_t *Data, unsigned NumChars, unsigned Encoding)
void common::SaveUnicodeToStream (Stream *Dest, const wstring &Data, unsigned Encoding)
void common::SaveUnicodeToStream (Stream *Dest, const wchar_t *Data, unsigned NumChars, unsigned Encoding)
void common::LoadUnicodeFromFile (const tstring &FileName, wstring *Out, unsigned Encoding, FILE_ENCODING *OutEncoding=NULL)
 Wczytuje plik tekstowy do łańcucha Unicode.
void common::LoadUnicodeFromFile (const tstring &FileName, string *Out, unsigned Encoding, FILE_ENCODING *OutEncoding=NULL)
 Wczytuje plik tekstowy do łańcucha ANSI.
void common::LoadUnicodeFromStream (SeekableStream *Src, wstring *Out, unsigned Encoding, FILE_ENCODING *OutEncoding=NULL)
void common::LoadUnicodeFromStream (SeekableStream *Src, string *Out, unsigned Encoding, FILE_ENCODING *OutEncoding=NULL)

Opis szczegółowy

Dokumentacja: Module_Files
Nagłówek: Files.hpp

Dokumentacja typów wyliczanych

Kodowanie pliku tekstowego.

Wartości wyliczeń:
FILE_ENCODING_UTF16_LE  Zwykły UTF-16 stosowany w Windows (domyślnie dodaje BOM).
FILE_ENCODING_UTF8  UTF-8 (domyślnie nie dodaje BOM).
FILE_ENCODING_ANSI  Natywne kodowanie systemu.
FILE_ENCODING_FORCE_BOM  Dołącz tą flagę dodatkowo | podczas zapisywania, aby wymusić nagłówek BOM.
FILE_ENCODING_NO_BOM  Dołącz tą flagę dodatkowo | podczas zapisywania, aby wymusić brak nagłówka BOM.
FILE_ENCODING_AUTODETECT  Dołącz tą flagę dodatkowo podczas odczytywania, aby automatycznie wykryć kodowanie.

Rodzaj elementu systemu plików.

Wartości wyliczeń:
IT_NONE  Błąd, brak, koniec itp.
IT_DIR  Katalog.
IT_FILE  Plik.

Tryb otwarcia pliku.

Wartości wyliczeń:
FM_WRITE  zapis: tak, odczyt: nie
pozycja: 0
nie istnieje: tworzy, istnieje: opróżnia
SetPos: działa
FM_WRITE_PLUS  zapis: tak, odczyt: tak
pozycja: 0
nie istnieje: tworzy, istnieje: opróżnia
SetPos: działa
FM_READ  zapis: nie, odczyt: tak
pozycja: 0
nie istnieje: błąd, istnieje: otwiera
SetPos: działa
FM_READ_PLUS  zapis: tak, odczyt: tak
pozycja: 0
nie istnieje: błąd, istnieje: otwiera
SetPos: działa
FM_APPEND  zapis: tak, odczyt: nie
pozycja: koniec
nie istnieje: tworzy, istnieje: otwiera
SetPos: w Linuksie nie działa!
FM_APPEND_PLUS  zapis: tak, odczyt: tak
pozycja: koniec
nie istnieje: tworzy, istnieje: otwiera
SetPos: w Linuksie nie działa!


Dokumentacja funkcji

bool common::CreateDirectory ( const tstring &  Path  ) 

Tworzy katalog.

bool common::CreateDirectoryChain ( const tstring &  Path  ) 

Tworzy całą ścieżkę katalogów aż po podanego, np. "C:\A\B\C" nawet jeśli nie istniał nawet "C:\A".

bool common::DeleteDirectory ( const tstring &  Path  ) 

Usuwa katalog.

Katalog musi być pusty.

bool common::DeleteFile ( const tstring &  FileName  ) 

Usuwa plik.

bool common::GetFileItemInfo ( const tstring &  Path,
FILE_ITEM_TYPE *  OutType,
uint *  OutSize,
DATETIME *  OutModificationTime,
DATETIME *  OutCreationTime = NULL,
DATETIME *  OutAccessTime = NULL 
)

Zwraca wybrane informacje na temat pliku/katalogu.

Jako parametry wyjściowe można podawać NULL. Jeśli to katalog, zwrócony rozmiar jest niezdefiniowany.

FILE_ITEM_TYPE common::GetFileItemType ( const tstring &  Path  ) 

Zwraca typ - czy to jest plik, katalog czy błąd/nie-istnieje.

Jeśli błąd lub nie istnieje, zwraca common::IT_NONE.

void common::LoadStringFromFile ( const tstring &  FileName,
wstring *  Data 
)

void common::LoadStringFromFile ( const tstring &  FileName,
string *  Data 
)

Wczytuje całą zawartość pliku do łańcucha.

void common::LoadUnicodeFromFile ( const tstring &  FileName,
string *  Out,
unsigned  Encoding,
FILE_ENCODING *  OutEncoding = NULL 
)

Wczytuje plik tekstowy do łańcucha ANSI.

Wspiera te same kodowania co common::OutEncoding.

void common::LoadUnicodeFromFile ( const tstring &  FileName,
wstring *  Out,
unsigned  Encoding,
FILE_ENCODING *  OutEncoding = NULL 
)

Wczytuje plik tekstowy do łańcucha Unicode.

Parametry:
Encoding,: 
  • Możesz podać samo kodowanie, aby wczytać w z góry założonym kodowaniu (dużo szybsze!)
  • Możesz podać samo common::FILE_ENCODING_AUTODETECT, aby automatycznie wykryć kodowanie.
  • Możesz podać common::FILE_ENCODING_AUTODETECT i dodać jedno z kodowań, aby automatycznie wykryć, a w przypadku wątpliwości wybrać podane.
OutEncoding - zwraca wykryte kodowanie. Jeśli cię nie interesuję, możesz podać NULL.

void common::LoadUnicodeFromStream ( SeekableStream *  Src,
string *  Out,
unsigned  Encoding,
FILE_ENCODING *  OutEncoding = NULL 
)

void common::LoadUnicodeFromStream ( SeekableStream *  Src,
wstring *  Out,
unsigned  Encoding,
FILE_ENCODING *  OutEncoding = NULL 
)

bool common::MoveItem ( const tstring &  OldPath,
const tstring &  NewPath 
)

Przenosi lub zmienia nazwę pliku lub katalogu.

Katalogi można przenosić tylko w ramach jednej partycji. Pliki niekoniecznie.

void common::MustCreateDirectory ( const tstring &  Path  ) 

void common::MustCreateDirectoryChain ( const tstring &  Path  ) 

void common::MustDeleteDirectory ( const tstring &  Path  ) 

void common::MustDeleteFile ( const tstring &  FileName  ) 

void common::MustGetFileItemInfo ( const tstring &  Path,
FILE_ITEM_TYPE *  OutType,
uint *  OutSize,
DATETIME *  OutModificationTime,
DATETIME *  OutCreationTime = NULL,
DATETIME *  OutAccessTime = NULL 
)

void common::MustMoveItem ( const tstring &  OldPath,
const tstring &  NewPath 
)

void common::MustUpdateFileTime ( const tstring &  FileName,
const DATETIME &  ModificationTime,
const DATETIME &  AccessTime 
)

void common::MustUpdateFileTimeToNow ( const tstring &  FileName  ) 

void common::SaveDataToFile ( const tstring &  FileName,
const void *  Data,
size_t  NumBytes 
)

Zapisuje podany łańcuch jako treść pliku.

void common::SaveStringToFile ( const tstring &  FileName,
const wstring &  Data 
)

Wersje Unicode.

void common::SaveStringToFile ( const tstring &  FileName,
const string &  Data 
)

Zapisuje podany łańcuch jako treść pliku.

void common::SaveUnicodeToFile ( const tstring &  FileName,
const wchar_t *  Data,
unsigned  NumChars,
unsigned  Encoding 
)

void common::SaveUnicodeToFile ( const tstring &  FileName,
const wstring &  Data,
unsigned  Encoding 
)

Zapisuje tekst Unicode do pliku w podanym kodowaniu.

Musisz podać jedną flagę common::FILE_ENCODING z kodowaniem. Możesz dodać jedną z flag wymuszając nagłówek BOM lub jego brak.

void common::SaveUnicodeToStream ( Stream *  Dest,
const wchar_t *  Data,
unsigned  NumChars,
unsigned  Encoding 
)

void common::SaveUnicodeToStream ( Stream *  Dest,
const wstring &  Data,
unsigned  Encoding 
)

bool common::UpdateFileTime ( const tstring &  FileName,
const DATETIME &  ModificationTime,
const DATETIME &  AccessTime 
)

Ustawia czas dostępu i modyfikacji podanego pliku na podane.

bool common::UpdateFileTimeToNow ( const tstring &  FileName  ) 

Ustawia czas dostępu i modyfikacji podanego pliku na bieżący.


Wygenerowano Sat Mar 29 18:17:00 2008 dla CommonLib programem  doxygen 1.5.5