Qt_IM_18 - 8BitsCoding/RobotMentor GitHub Wiki
#include <QtCore/QCoreApplication>
#include <qiodevice.h>
#include <qdebug.h>
#include <qfile.h>
#include <qstring.h>
#include <qbytearray.h>
#include <qdir.h>
#include <qtextstream.h>
bool write(QString path, QByteArray data) {
QFile file(path);
if (!file.open(QIODevice::WriteOnly)) {
qWarning() << file.errorString();
return false;
}
qint64 bytes = file.write(data);
file.close();
if (bytes) return true;
return false;
}
bool createfile(QString path) {
QByteArray data;
for (int i = 0; i < 5; i++) {
data.append(QString::number(i));
data.append("Hello World!\r\n");
}
return write(path, data);
}
void readFile(QString path) {
QFile file(path);
if (!file.exists()) {
qWarning() << "File not found";
return;
}
if (!file.open(QIODevice::ReadOnly)) {
qWarning() << file.errorString();
return;
}
qInfo() << "**** Reading file *****";
qInfo() << file.readAll(); // 파일이 클 경우 위험하다.
qInfo() << "**** Done *****";
file.close();
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString path = QDir::currentPath() + QDir::separator() + "test.txt";
qInfo() << "Path : " << path;
if (createfile(path)) {
readFile(path);
}
return a.exec();
}
라인으로 읽기
#include <QtCore/QCoreApplication>
#include <qiodevice.h>
#include <qdebug.h>
#include <qfile.h>
#include <qstring.h>
#include <qbytearray.h>
#include <qdir.h>
#include <qtextstream.h>
bool write(QString path, QByteArray data) {
QFile file(path);
if (!file.open(QIODevice::WriteOnly)) {
qWarning() << file.errorString();
return false;
}
qint64 bytes = file.write(data);
file.close();
if (bytes) return true;
return false;
}
bool createfile(QString path) {
QByteArray data;
for (int i = 0; i < 5; i++) {
data.append(QString::number(i));
data.append("Hello World!\r\n");
}
return write(path, data);
}
void readFile(QString path) {
QFile file(path);
if (!file.exists()) {
qWarning() << "File not found";
return;
}
if (!file.open(QIODevice::ReadOnly)) {
qWarning() << file.errorString();
return;
}
qInfo() << "**** Reading file *****";
qInfo() << file.readAll(); // 파일이 클 경우 위험하다.
qInfo() << "**** Done *****";
file.close();
}
void readlines(QString path) {
QFile file(path);
if (!file.exists()) {
qWarning() << "File not found";
return;
}
if (!file.open(QIODevice::ReadOnly)) {
qWarning() << file.errorString();
return;
}
qInfo() << "**** Reading file *****";
while (!file.atEnd()) {
qInfo() << "Read: " << file.readLine();
}
qInfo() << "**** Done *****";
file.close();
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString path = QDir::currentPath() + QDir::separator() + "test.txt";
qInfo() << "Path : " << path;
if (createfile(path)) {
readlines(path);
}
return a.exec();
}