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的流操作可以方便的 ...
随机推荐
- adv钓鱼题
4 10 4 5 6 2 10 2 10 4 5 6 2 10 2 60 1 20 29 20 50 20 60 1 20 20 20 60 20 #include<iostream> u ...
- [SonarQube]小结
新的项目用了这个,以前从来没用过,配置了一下,看看这个到底是个什么东东. 先学习一下英文单词: sonar 声纳, qube 方盒子, 连起来应该叫声纳盒, SonarQube一看就是一个监测诊断设备 ...
- How repair disk issue when "Fsck Failed please repair manually and reboot"
" Fsck Failed please repair manually and reboot. the root filesystem is currently mounted as re ...
- 启动eclipse时:java is started but returned code 13
此问题是eclipse位数和java位数不匹配造成的 我的是win10 64位的eclipse + 32位的java造成的问题 查看eclipse位数:用记事本打开eclipse根目录下的eclips ...
- QFileSystemModel
#include "dialog.h" #include "ui_dialog.h" Dialog::Dialog(QWidget *parent) : QDi ...
- zabbix 自定义探索规则发现服务器上面的kvm虚拟机和对应的网卡
安装完zabbix服务器之后 只有两个探索规则模版,挂载点探索和网卡探索 场景描述:想使用zabbix监控kvm虚拟机的网卡的流量情况, 获取虚拟机和网卡对应关系 虚拟机 S-1 virsh domi ...
- 如何添加Tomcat为启动服务
tomcat8.0, 可以用startup.bat启动, 但注销又不能启动服务,但现在的系统不知出了什么问题 ? 答 1.我这个是zip版本的,所以里面有一个service.bat的文件,所以很简单 ...
- Hibernate操作指南-实体之间的关联关系(基于注解)
- [CC]DgmOctree—执行Cell遍历和单元计算
DgmOctree类的executeFunctionForAllCellsAtLevel和executeFunctionForAllCellsStartingAtLevel方法通过回调函数octree ...
- C# 迪杰斯特拉算法 Dijkstra
什么也不想说,现在直接上封装的方法: using System; using System.Collections.Concurrent; using System.Collections.Gener ...