1. 程式人生 > >QT5入門之18 -檔案讀寫

QT5入門之18 -檔案讀寫

檔案讀寫主要使用類QFile,它可以用來讀寫二進位制檔案或文字檔案。
QFile可以自己單獨被使用,但是和QDataStream或QTextStream一起使用將更加方便。
1.讀檔案

   #include <QFile>
   QStringList lines;
   QFile file( "d:\\1.txt" );
   QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb2312"));//中文轉碼宣告
   if ( file.open( QIODevice::ReadOnly ) ) {//只讀方式
QTextStream stream( &file ); QString line; int n = 1; while ( !stream.atEnd() ) { line = stream.readLine(); // 一行一行讀取,不包括“/n”的一行文字,也可以用readAll()全部讀取 qDebug()<< line.toUtf8(); //輸出到“應用程式輸出”視窗。 n++; lines += line; } file
.close(); }

2.寫檔案

    QStringList lines;
    lines.append("123");
    lines.append("456");
    lines.append("烤鴨");
    QFile file( "d:\\1.txt" );
    if ( file.open( QIODevice::WriteOnly ) ) {//只讀模式
        QTextStream stream( &file );
        for (auto it = lines.begin(); it != lines.end(); ++it )
            stream << *it
<< "\r\n"; file.close(); }

這裡寫圖片描述
3.
其他方法:
exists() 來檢查一個檔案是否存。
remove()來移去一個檔案。
size() 可以返回檔案的大小。

if(file.exists()){
         QMessageBox::warning(this, tr("test"), tr("file exists."));
         int i = file.size();
         file.remove();
 }

4.開啟方式:
列舉值 描述
QIODevice::NotOpen 未開啟
QIODevice::ReadOnly 以只讀方式開啟
QIODevice::WriteOnly 以只寫方式開啟
QIODevice::ReadWrite 以讀寫方式開啟
QIODevice::Append 以追加的方式開啟,新增加的內容將被追加到檔案末尾
QIODevice::Truncate 以重寫的方式開啟,在寫入新的資料時會將遊標設定在檔案開頭
QIODevice::Text 在讀取時,將行結束符轉換成 \n;在寫入時,將行結束符轉換成本地格式,例如 Win32 平臺上是 \r\n
QIODevice::Unbuffered 忽略快取

相關推薦

QT5入門18 -檔案

檔案讀寫主要使用類QFile,它可以用來讀寫二進位制檔案或文字檔案。 QFile可以自己單獨被使用,但是和QDataStream或QTextStream一起使用將更加方便。 1.讀檔案 #include <QFile> QStr

Python基本語法文字檔案

  檔案讀寫相關係統函式說明 系統函式 說明 input(tips); 提示使用者輸入資訊,例如 str = input("Please input your ip:") 將輸入的資訊賦值給變數

R語言開發二進位制檔案操作

二進位制檔案是一個檔案,其中包含僅以位和位元組形式儲存的資訊(0和1),它們是不可讀的,因為其中的位元組轉換為包含許多其他不可列印字元的字元和符號,隨便我們嘗試使用任何文字編輯器讀取二進位制檔案將顯示為類似Ø和ð這樣的字元。 但是二進位制檔案必須由特定程式讀取才能使用。例如

OpenCV 3.0 入門圖片的與顯示

再一次回到了影象處理,OpenCV 已經如此的強大了。慢慢學習,然後從入門到放棄… Life is short, show me the code… 讀取影象檔案 imread,影象顯示 imsho

HadoopHDFS檔案過程

       4.DFSOutputStream將資料分成塊,寫入data queue。data queue由Data Streamer讀取,並通知元資料節點分配資料節點,用來儲存資料塊(每塊預設複製3塊)。分配的資料節點放在一個pipeline裡。Data Streamer將資料塊寫入pipeline中的第

python pandas IO tools read_csv檔案引數詳解

python pandas IO tools 之csv檔案讀寫 讀取csv檔案:pd.read_csv(),寫入csv檔案:pd.to_csv() pandas還可以讀取一下檔案: read_csv, read_excel, read_hdf,

Qt 學習 二進位制檔案

在上一章中,我們介紹了有關QFile和QFileInfo兩個類的使用。我們提到,QIODevice提供了read()、readLine()等基本的操作。同時,Qt 還提供了更高一級的操作:用於二進位制的流QDataStream和用於文字流的QTextStream

Java 檔案及效能比較總結

Java 之 檔案讀寫及效能比較總結 2014年05月12日 17:56:49 閱讀數:21765  幹Java這麼久,一直在做WEB相關的專案,一些基礎類差不多都已經忘記。經常想得撿起,但總是因為一些原因,不能如願。 其實不是沒有時間,只是有些時候疲於總結,今得空,下定決心

Java:簡單的XML檔案使用DOM4J

Dom4J方式解析XML檔案。dom4j是非官方提供的xml檔案解析方式,因此需要去第三方下載dom4j的jar包 File file = new File("D:\\chengmuzhe\\java\\JavaOOP6.0\\students.xml"); SAXReader reader = n

量化路--configparser配置檔案中的坑

python3 中需要使用引入新版的configparser,而非ConfigParser 讀寫前都要用read()開啟配置檔案,假如用add_section()就直接涼了,因為後者會直接清空配置檔案,只留下一條你在後面set()的鍵值對。 1.如果要更新一個section:

Python檔案r+/w+/a+

讀模式 r 開啟不存在的檔案會報錯、不能寫;如不指定模式則預設是r 寫模式 w 開啟不存在的檔案會,會新建一個檔案;開啟存在的檔案會先清空後覆蓋原有檔案;不能讀 追加模式 a 開啟不存在的檔

python檔案(1)

1. 從檔案讀取資料 關於對檔案的操作,使用open(filename, mode),開啟檔案。與之對應的,close()用來關閉檔案。對檔案操作完畢切記要關閉。 open函式引數: mode 引數有: 模式 描述 t 文字模式

java大檔案操作,java nio MappedByteBuffer,高效檔案/記憶體對映

原文地址:https://www.cnblogs.com/lyftest/p/6564282.html   java處理大檔案,一般用BufferedReader,BufferedInputStream這類帶緩衝的Io類,不過如果檔案超大的話,更快的方式是採用MappedByteB

Unity3D檔案檔案

為了完成資源的讀取和儲存,這裡做了好多的實驗,也參考了很多的文章和帖子,這裡十分感謝雨鬆的網站,很多時候都能在那裡找到思路和相應的回答。希望這個網站能一直辦下去。 開始正文,為了完成上述功能,自己本地做了很多實驗,為了統一資源版本,我想到的辦法就是把所有的AssetsBun

Python基礎知識檔案與修改

基本操作 f = open("file1", "r")  # 開啟檔案 first_line = f.readline() # 讀一行 data = f.read() # 讀取剩下所有內容,檔案大時候不要用 f.close()  #關閉檔案

opencv學習(十七)XML和YAML檔案操作

可能大部分人到現在接觸的XML和YAML檔案很少,等以後訓練人臉模型進行人臉識別的時候用的就多了。現在先了解一下這兩種檔案型別。 XML:Extensible Markup Language,可擴充套件標記語言,標準通用語言的子集,是一種用於標記電子檔案使其具

python關於csv的檔案記錄

相關配置: Anaconda 4.2.0 (64-bit) Python 3.5.2 關於csv檔案讀寫練習小系統。 程式如下: import csv import time import sys filename = 'ha.csv' datas = [['he

C++ 檔案函式——fopen、fread和fwrite

(1)fopen()函式:開啟檔案 包含標頭檔案: #include<stdio.h> 格式:FILE * fopen(const char * path,const char * mode) 引數: path:需要開啟的檔案路徑

檔案工具簡單實現(一)java的UI介面視覺化畫圖/製作

現在和大家介紹下,我們簡單的介面工具開發,使用者選擇檔案,讀出部分想要檔案內容,滑鼠在大輸入框點選某一行就會顯示在其他輸入框中,然後在其他輸入框修改後內容,點寫入按鈕即可修改並顯示到大輸入框中,且原檔案對應剛剛選的改行內容;大概的介面如下,網路現在原因不能上傳圖片:選擇檔案按

Qt總結五:檔案操作

  一、簡介        通過QFile、QDir、QFileInfo和QFileSystemWatcher類簡單介紹對檔案和目錄的一些操作。對文字流和資料流沒有太多的介紹,還有一些Qt資源、統一資源定位符、緩衝區可以在以後應用中加上。