read
write
http://www.yafeilinux.com/?p=37
#include<QMessageBox>
#include<QFile>
#include<QFileDialog>
#include<QTextStream>
void MainWindow::on_pushButton_clicked()
{
QString fileName = QFileDialog::getOpenFileName(this);//使用对话框选择路径及文件名
//QString fileName="/opt/i_am_file.txt";//绝对路径
//QString fileName="i_am_file.txt";//相对路径,当前目录下的i_am_file.txt
if(!fileName.isEmpty())//如果文件名不为空
{
QFile file(fileName);
if(!file.open(QFile::ReadOnly | QFile::Text))
{
QMessageBox::warning(this,tr("读取文件"),tr("无法读取文件 %1:\n%2.").arg(fileName).arg(file.errorString()));
return ; //如果打开文件失败,弹出对话框,并返回
}
QTextStream in(&file);
QString str=in.readAll();
QMessageBox box;
box.setText(str);
box.exec();
}
}
write
void MainWindow::on_pushButton_2_clicked()
{
QString fileName = QFileDialog::getSaveFileName(this,tr("另存为"),"i_am_file.txt");//使用对话框选择路径及文件名
//QString fileName="i_am_file.txt";
if(!fileName.isEmpty())//如果文件名不为空
{ QFile file(fileName);
if(!file.open(QFile::WriteOnly | QFile::Text))
//以只写方式打开文件,如果打开失败则弹出提示框并返回
{
QMessageBox::warning(this,tr("保存文件"),tr("无法保存文件 %1:\n %2").arg(fileName).arg(file.errorString()));
return ;
}
//%1,%2表示后面的两个arg参数的值
QTextStream out(&file); //新建流对象,指向选定的文件
//out << ui->textEdit->toPlainText(); //将文本编辑器里的内容以纯文本的形式输出到流对象中
out<<"hello evryone";
QString curFile = QFileInfo(fileName).canonicalFilePath(); //获得文件的标准路径
QMessageBox box;
box.setText(curFile);
box.exec();
}
return ;
}
http://www.yafeilinux.com/?p=37
2702

被折叠的 条评论
为什么被折叠?



