1. 程式人生 > 實用技巧 >Qt 檔案操作相關

Qt 檔案操作相關

寫檔案

    QFile file("filename.bin");
    file.open(QIODevice::WriteOnly);
    file.write(...);
    file.close();
    qint64 write(const char *data, qint64 len);
    qint64 write(const char *data);
    qint64 write(const QByteArray &data);

讀檔案

    QFile file("filename.bin");
    file.open(QIODevice::ReadOnly);
    QByteArray data = file.readAll();
    file.close();
    qint64 read(char *data, qint64 maxlen);
    QByteArray read(qint64 maxlen);
    QByteArray readAll();
    qint64 readLine(char *data, qint64 maxlen);
    QByteArray readLine(qint64 maxlen = 0);

選擇檔案

    QString filename;
    filename = QFileDialog::getOpenFileName(this, "開啟", "D:\\", "圖片檔案(*.bmp *.jpg);;所有檔案(*.*)");
    filename = QFileDialog::getSaveFileName(this, "儲存為", "D:\\", "文字文件(*.txt);;所有檔案(*.*)");

將函式的目錄引數"D:\\"改成NULL,首次開啟檔案選擇視窗時預設為程式所在目錄,後續開啟檔案選擇就為上一次操作所在目錄。

選擇目錄

    QDir dirPath;
    dirPath = QFileDialog::getExistingDirectory( this, "選擇資料夾", "D:\\");

檔案資訊

    QFileInfo info(name);
    bool exists = info.exists();
    bool isDir = info.isDir();
    bool isFile= info.isFile();
    bool isRead= info.isReadable();
    bool isWrite=info.isWritable();
    bool isExec= info.isExecutable();