Tianchi  v0.0.2 build 20130701
C++ library for Qt with VC & mingW
tcfileio.h
浏览该文件的文档.
1 // **************************************************************************
2 // Tianchi C++ library for Qt (open source)
3 // 天池共享源码库
4 // 版权所有 (C) 天池共享源码库开发组
5 // 授权协议:请阅读天池共享源码库附带的授权协议
6 // **************************************************************************
7 // 文档说明:一些文件复制和提取功能
8 // ==========================================================================
9 // 开发日志:
10 // 日期 人员 说明
11 // --------------------------------------------------------------------------
12 // 2013.05.24 cnhemiya@gmail.com 建立
13 //
14 // ==========================================================================
16 // ==========================================================================
17 
18 #ifndef TIANCHI_TCFILEIO_H
19 #define TIANCHI_TCFILEIO_H
20 
21 #include <QString>
22 #include <QStringList>
23 #include <QIODevice>
24 #include <tianchi/tcglobal.h>
25 
29 class TIANCHI_API TcFileIO
30 {
31 public:
32 
39  static qint64 copy(const QString &fromFile, const QString &toFile,
40  qint64 bufferSize = defaultBufferSize);
41 
50  static qint64 copy(const QString &fromFile, const QString &toFile,
51  qint64 fromFileOffset, qint64 copySize = -1,
52  qint64 bufferSize = defaultBufferSize);
53 
60  static qint64 append(const QString &fromFile, const QString &toFile,
61  qint64 bufferSize = defaultBufferSize);
62 
71  static qint64 append(const QString &fromFile, const QString &toFile,
72  qint64 fromFileOffset, qint64 appendSize = -1,
73  qint64 bufferSize = defaultBufferSize);
74 
87  static int split(const QString &fromFile, const QString &toDir,
88  qint64 splitSize, qint64 bufferSize = defaultBufferSize);
89 
96  static qint64 join(const QStringList &fromFileList, const QString &toFile,
97  qint64 bufferSize = defaultBufferSize);
98 
106  static qint64 makeDummyFile(const QString &fileName, qint64 fileSize,
107  const char fill = 0x00,
108  qint64 bufferSize = defaultBufferSize);
109 
111  static const int KB;
112 
114  static const int MB;
115 
117  static const int GB;
118 
120  static const int defaultBufferSize;
121 
122 private:
123  // 提取源文件数据到目的文件
124  static qint64 dump(const QString &fromFile, const QString &toFile,
125  QIODevice::OpenMode fromOpenMode, QIODevice::OpenMode toOpenMode,
126  qint64 fromFileOffset, qint64 toFileOffset,
127  qint64 dumpSize, qint64 bufferSize);
128 
129  // 写入数据
130  static qint64 write(QIODevice &from, QIODevice &to, qint64 writeSize, qint64 bufferSize);
131 };
132 
133 #endif // TIANCHI_TCFILEIO_H