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的流操作可以方便的 ...
随机推荐
- C#拾遗-接口与抽象类
抽象类中可以有构造函数(无参构造函数和有参构造函数)无参构造函数在子类实例化时被调用有参构造函数必须显示调用 抽象类中可以有抽象方法 但是不能有方法体,子类必须实现抽象方法子类必须重写抽象类中的抽象方 ...
- wordpress 自定义登录表单
wordpress 有很多插件支持自定义登录表单,本文讨论无插件形式. 自定义登录表单又分为两种 自定义登录表单 在前端创建一个登录页面
- Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?
Ant和Maven都是基于Java的构建(build)工具.理论上来说,有些类似于(Unix)C中的make ,但没有make的缺陷. Ant是软件构建工具,Maven的定位是软件项目管理和理解工具. ...
- 腾讯QQ认证空间4月27日已全面开放申请,欲进军自媒体
今天看到卢松松的博客上爆出,腾讯QQ认证空间4月27日已全面开放申请的消息,这一消息出来, 马浩周根据提示方法进行申请,下面先说说腾讯QQ认证空间的申请方法: QQ认证空间开放申请公告地址:http: ...
- Mybatis与Spring整合,使用了maven管理项目,作为初学者觉得不错,转载下来
转载自:http://www.cnblogs.com/xdp-gacl/p/4271627.html 一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype ...
- webdriver零碎知识点
#零碎知识点,用于记录平时遇到的比较杂的知识点 driver.current_url 获取当前url phantomjs 实现无浏览器界面自动化测试(driver = webdriver.Phanto ...
- 在mvc中将session的值绑定在页面上
第一步,在SqlServer数据库中创建存储过程,查询的是用户名(员工姓名)所扮演的角色: if exists(select * from sys.objects where name='proc_s ...
- C#中Object和Json之间的转换
//创建一个类,此类有两个方法 using Newtonsoft.Json;namespace System{ public static class JsonExtension { ...
- 上下箭头选中 选项事件 JS
//上下键 选择事件 searchBackgroud 为样式,只做标记,无实质样式,因为和其他样式不兼容,只能添加CSS $(document).keydown(function (event) { ...
- spark编写word count
创建SparkContext对象的时候需要传递SparkConf对象,SparkConf至少需要包含spark.master和spark.app.name这两个参数,不然的话程序不能正常运行 obje ...