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的流操作可以方便的 ...
随机推荐
- 过滤关键字防止XSS攻击
public static string ClearXSS(string str) { string returnValue = str; if (string.IsNullOrEmpty(retur ...
- js,css小知识点记录
JS手册中提到:可以使用任意表达式作比较表达式.任何值为0.null.未定义或空字符串的表达式被解释为 false.其他任意值的表达式解释为 true.也就是说,这里会隐式的转换为布尔值. ...
- Spring整理
Bean配置 1. <context:component-scan base-package="com.test" />这个包下的Spring注解才有效 属性文件自动解 ...
- html5 app开发,你知道多少?
随着大量新生移动设备的兴起,改变了互联网的未来,html5技术为开发者提供了一个跨平台的移动app开发方案,并且该方案具有很好的扩展性和灵活性,但就国内使用html5开发app应用技术来讲,还是有欠缺 ...
- 一个js获取数组下标的函数
或许,面试的时候,你可能会被问到怎么模拟字符串的indexOf()函数获取数组的下标,这里是个人实现的一个小函数,里面包含的知识点挺多的,假如是新手,看不懂的地方可以百度,这里就不做详细介绍了,当然, ...
- MySQL 显示命令
虽然现在各种图形化管理工具方便了MySQL的管理,但是偶尔还是需要手动输入指令来使用比较方便,以下是摘抄的一些命令,供自己备忘使用. 1.显示数据库列表. show databases; 2.显示库中 ...
- maven exclusion 解决maven传递依赖中的版本冲突
传递依赖是maven最有特色的.最为方便的优点之一,可以省了很多配置.如a 依赖 b,b 依赖c 默认 a也会依赖 c.但是也会带来隐患,如版本冲突.当然maven也考虑到解决办法,可以使用exclu ...
- NSUserDefaults存取失败
解决办法: 1.存储NSUserDefaults时,强制NSUserDefault存入沙盒 [[NSUserDefaults standardUserDefaults] setObject:sAcco ...
- 只需三步--轻松反编译Android Apk文件
安卓程序是通过java语言进行编写的,可以很容易进行反编译.很多apk文件被反编译后再二次打包,就成了自己的产品,很是流氓.下面我们来看看如何进行apk的反编译,以及常用的防反编译手段. 一.反编译A ...
- 编写第一个MapReduce程序—— 统计气温
摘要:hadoop安装完成后,像学习其他语言一样,要开始写一个“hello world!” ,看了一些学习资料,模仿写了个程序.对于一个C#程序员来说,写个java程序,并调用hadoop的包,并跑在 ...