QFile QDataStream QTextStream
- #include <QCoreApplication>
- #include <QMap>
- #include <QFile>
- #include <QDir>
- #include <QDebug>
- #include <QTextStream>
- #include <QDataStream>
- #include <QLinkedList>
- void qDirTest()
- {
- QDir dir("F:/NVIDIA");
- qDebug() << dir.exists() ;
- qDebug() << dir.absolutePath();
- dir.cdUp();
- qDebug() << dir.absolutePath() << "\n-------";
- dir.cd("NVIDIA");
- qDebug() << dir.dirName();
- QString path = "E:/test_dir";
- QDir dir_test(path);
- if(!dir_test.exists())
- {
- dir_test.mkdir(path);
- }
- dir_test.rmdir("E:/test_dir");
- // Show The Drive of files
- QString dir_path = "E:/";
- QDir dir_list(dir_path);
- foreach( QFileInfo item,dir_list.entryInfoList())
- {
- if(item.isFile())
- {
- qDebug() << item.absoluteFilePath() <<" --->is File";
- }
- if(item.isDir())
- {
- qDebug() << item.absoluteFilePath() <<" --->is Dir";
- }
- }
- }
- // QFile TEST
- namespace QFileTextDataStream
- {
- void write_text_stream(QString name)
- {
- QFile wFile(name);
- if(!wFile.open(QFile::WriteOnly | QFile::Text)) // IT's FILE *
- {
- qDebug () << "open files error";
- }
- QTextStream stream(&wFile);
- stream << "Hello World\n" << "This is jack";
- wFile.flush();
- wFile.close();
- }
- void read_text_stream(QString name)
- {
- QFile rFile(name);
- if(!rFile.open(QFile::ReadOnly | QFile::Text)) // IT's FILE *
- {
- qDebug () << "open files error";
- }
- QTextStream in(&rFile);
- QString data = in.readAll();
- qDebug() << data;
- }
- void QFileTextTest(QString FileName)
- {
- qDebug () << "write file test";
- write_text_stream(FileName);
- qDebug() << "now Reading";
- read_text_stream(FileName);
- }
- void write_binary_stream(QString name)
- {
- QFile file(name);
- if(!file.open(QIODevice::WriteOnly))
- {
- qDebug () << "error";
- }
- QDataStream out(&file);
- out << QString("Houdini ") << ;
- file.flush();
- file.close();
- }
- void read_binary_stream(QString name)
- {
- QFile file(name);
- if(!file.open(QIODevice::ReadOnly))
- {
- qDebug () << "error";
- }
- QDataStream read(&file);
- QString fname;
- int val;
- read >> fname >> val;
- qDebug() << fname<<":" << val;
- file.flush();
- file.close();
- }
- }
- namespace DataCore
- {
- void data_struction_test()
- {
- QMap<int ,QString> map;
- map.insert(,"Houdini");
- map.insert(,"nuke");
- map.insert(,"maya");
- foreach (int i,map.keys())
- {
- qDebug() << map[i] ;
- }
- }
- }
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- //DirTest();
- //QFileTextDataStream::QFileTest("F:/test.txt");
- QFileTextDataStream::write_binary_stream("F:/test.binary");
- QFileTextDataStream::read_binary_stream("F:/test.binary");
- //DataCore::data_struction_test();
- return a.exec();
- }
QTextStream QDataStream
CopyFile Method 1:
- // QFile And QDataStream
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- QFile file("F:/dj.mp3");
- if(!file.open(QFile::ReadOnly)){
- perror("error open\n");
- return ;
- }
- QFile copy_file("F:/copytest.mp3");
- if(!copy_file.open(QFile::WriteOnly)){
- perror("error write open\n");
- return ;
- }
- QDataStream from_data(&file);
- QDataStream to_data(©_file);
- int buffer_size = ;
- char data[buffer_size];
- while(!file.atEnd())
- {
- from_data.readRawData(data,buffer_size);
- to_data.writeRawData(data,buffer_size);
- }
- file.close();
- copy_file.close();
- fprintf(stdout,"%s \n","end reading");
- return a.exec();
- }
CopyFile Method 2:
- QCoreApplication a(argc, argv);
- QFile file("F:/houdini-13.0.509.exe");
- if(!file.open(QFile::ReadOnly))
- {
- perror("error open\n");
- return ;
- }
- QFile copy_file("F:/copytest.exe");
- if(!copy_file.open(QFile::WriteOnly))
- {
- perror("error write open\n");
- return ;
- }
- QByteArray line;
- while(!file.atEnd())
- {
- line.clear();
- line =file.read();
- copy_file.write(line);
- }
- fprintf(stdout,"%s \n","end reading");
- file.close();
- copy_file.close();
- return a.exec();
DataStream And ByteArray
- #include <QCoreApplication>
- #include <QDataStream>
- #include <QByteArray>
- #include <QDebug>
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- QByteArray block;
- QDataStream stream(&block,QIODevice::WriteOnly);
- stream<<quint16() << QString("Houdini")<<QString("Maya");
- stream.device()->seek();
- stream<<quint16();
- qDebug() << block;
- // read back
- QDataStream stream_read(&block,QIODevice::ReadOnly);
- quint16 val;
- QString name;
- QString func;
- stream_read>>val >>name >>func;
- qDebug() << val << name <<func;
- return a.exec();
- }
分割文件流:)
- void get_buffer_split2(QByteArray readInArray,QList<QByteArray> &data,int buffer_size)
- {
- float t = buffer_size;
- int num = ceil(float(readInArray.size())/float(t));
- for(int i=;i<=num;i++)
- {
- QByteArray _temp = readInArray.left(buffer_size);
- readInArray.remove(,buffer_size);
- data.push_back(_temp);
- }
- }
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- QByteArray readArray;
- QFile readFile("/home/gearslogy/icon.png");
- if(!readFile.open(QFile::ReadOnly))
- {
- qDebug() << "error read file";
- readFile.close();
- return ;
- }
- readArray = readFile.readAll();
- QList<QByteArray> split_data;
- get_buffer_split2(readArray,split_data,);
- QFile writeFile("/home/gearslogy/iconCopy.png");
- if(!writeFile.open(QFile::WriteOnly))
- {
- qDebug() << "write file error";
- writeFile.close();
- return ;
- }
- for(int i=;i<split_data.size();i++)
- {
- QByteArray _temp = split_data[i];
- writeFile.write(_temp);
- }
- writeFile.close();
- return a.exec();
- }
QFile QDataStream QTextStream的更多相关文章
- 4.关于QT中的QFile文件操作,QBuffer,Label上添加QPixmap,QByteArray和QString之间的区别,QTextStream和QDataStream的区别,QT内存映射(
新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...
- (十四)QFile操作,QByteArray,文件流操作,QTextStream,QDataStream,QFileInfo, QIODevice
QFile f 1.readall #include "widget.h" #include "ui_widget.h" #include <QFileD ...
- QT文件(夹)操作---QFile、QDir、QFileInfo、QTextStream和QDataStream异同
1.1 文件和目录 QFile.QBuffer和QTcpSocket可支持读写设备,用open函数打开,用write或putChar函数写入.用read和readLine或readAll进行读取 ...
- Qt笔记——QFile,QDataStream,QTextStream
QFile #ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; } clas ...
- 4.关于QT中的QFile文件操作,QBuffer,Label上加入QPixmap,QByteArray和QString之间的差别,QTextStream和QDataStream的差别,QT内存映射(
新建项目13IO 13IO.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets network CON ...
- 使用QFile进行文件操作(QFile可以使用FILE *指针,还必须指定AutoCloseHandle)
QFile类我我们提供了操作文件的常用功能.它是一种io设备,可以用来读写文本文件和二进制文件,也可以用来读写Qt的资源文件.QFile类可以单独使用,该类本身提供了read/write函数,但更方便 ...
- Qt:QFile、QIODevice
QFile 0.说明 QFile是读写文件的类,这里的文件包括文本文件.二进制文件.资源文件. 通常情况下,文件读写使用QFile.QTextStream.QDataStream就够了. file n ...
- Qt: 把内容写进字符串中与C++很相似(使用QTextStream包装QString)
#include <iostream>#include <QChar>#include <QFile>#include <QTextStream>#in ...
- Qt:QTextStream
0.说明 QTextStream提供了读写文本文件的接口. QTextStream可以操作QIODevice, QByteArray 和 QString,调用QTextStream的流操作可以方便的 ...
随机推荐
- 引用log4j.jar包后,出现告警
问题现象:在引用log4j包后,使用自己导出的jar包,编译测试例代码,在启动浏览器时出现以下告警:log4j:WARN No appenders could be found for logger ...
- 在SQL语句中加入时间比较作为查询条件
select * from 表名 where 列名 = ? and DATEDIFF(hh,时间列,'2016-08-22 15:05:59.000')<9
- svn中第一次check out working copy项目下来出现 ld: library not found for -lcrypto clang: error: linker command failed with exit code 1 (use -v to see invocation)
这个问题主要是.a文件的忽略删除,需要更改设置,并且把文件重新添加
- [java]删除数组中的某一个元素
package org.company.project.test; import java.util.Arrays; import java.util.Scanner; public class Ar ...
- Git & Gitlab 使用指南
2016-02-23 | 9,129字 | 分类于 工具 | 3条评论 去年小组在从 SVN 和 TFS 迁移到 Git 的过程中整理了这份文档,面向的用户是对 Git 和 SV ...
- as3绕过策略文件给视频截图
接上篇 http://www.cnblogs.com/DarkMaster/p/5973593.html 这篇同样是在老外博客上找到的,分享给大家,再次感叹老外牛逼啊. 原文地址:http://gam ...
- 用Apache生产csr申请证书
一. 安装Apache: 1.安装完成后将apache安装目录下 conf 文件夹中的"openssl.cnf"文件复制到bin文件夹中: 2.配置Apache支持ssl: 打开A ...
- XML:使用DOM技术解析xML文件中的城市,实现select级联选择
中国的城市xml格式:cities.xml <?xml version="1.0" encoding="utf-8"?> <china> ...
- CXF WebService整合SpringMVC的maven项目
首先推荐博客:http://www.cnblogs.com/xdp-gacl/p/4259481.html http://blog.csdn.net/hu_shengyang/article/de ...
- 可爱的Python_课后习题_CDay0 时刻准备着!发布
请根据软件发布的流程和软件开发的编码规范,将读者在前面章节所写的程序修改并发 布出去.另外,可以查找下除了 epydoc 外还有哪些较好的 py 文档生成器? pydoc是Python自带的模块,主要 ...