1 文件读写

  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. #include <QFileDialog>
  4. #include <QMessageBox>
  5. #include <QFile>
  6. #include <QTextCodec>
  7. #include <QFileInfo>
  8. #include <QDebug>
  9. Widget::Widget(QWidget *parent)
  10. : QWidget(parent)
  11. , ui(new Ui::Widget)
  12. {
  13. ui->setupUi(this);
  14. // 点击按钮选取文件
  15. connect(ui->pushButton,&QPushButton::clicked,[=](){
  16. QString path = QFileDialog::getOpenFileName(this,"打开文件",
  17. "C:\\Users\\16481\\Desktop");
  18. if(path.isEmpty())
  19. {
  20. QMessageBox::warning(this,"警告","打开失败");
  21. }
  22. else
  23. {
  24. //----------------------读文件------------------------//
  25. // 将选择的路径 放到lineEdit
  26. ui->lineEdit->setText(path);
  27. // 读取文件
  28. QFile file(path); // QFile默认支持UTF-8格式
  29. // 指定打开方式(只读)
  30. file.open(QFileDevice::ReadOnly);
  31. QByteArray arr;
  32. //arr = file.readAll();
  33. while(!file.atEnd())
  34. {
  35. arr += file.readLine();
  36. }
  37. // 设置到文件编辑框中
  38. ui->textEdit->setText(arr); // 读UTF-8
  39. // QTextCodec* pCodec = QTextCodec::codecForName("gbk");
  40. // ui->textEdit->setText(pCodec->toUnicode(arr)); // 读GBK
  41. file.close();
  42. //----------------------写文件------------------------//
  43. file.open(QFileDevice::Append); //重新指定打开方式
  44. file.write("啊啊啊啊啊啊啊啊");
  45. file.close();
  46. }
  47. });
  48. }

2 文件信息

  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. #include <QFileDialog>
  4. #include <QMessageBox>
  5. #include <QFile>
  6. #include <QTextCodec>
  7. #include <QFileInfo>
  8. #include <QDebug>
  9. #include <QDateTime>
  10. Widget::Widget(QWidget *parent)
  11. : QWidget(parent)
  12. , ui(new Ui::Widget)
  13. {
  14. ui->setupUi(this);
  15. // 点击按钮选取文件
  16. connect(ui->pushButton, &QPushButton::clicked, [=](){
  17. QString path = QFileDialog::getOpenFileName(this,"打开文件",
  18. "C:\\Users\\16481\\Desktop");
  19. if(path.isEmpty())
  20. {
  21. QMessageBox::warning(this,"警告","打开失败");
  22. }
  23. else
  24. {
  25. QFileInfo info(path);
  26. qDebug() << " 路径: " << info.filePath()
  27. << " 名称: " << info.fileName()
  28. << " 大小: " << info.size()
  29. << " 后缀名: " << info.suffix();
  30. qDebug() << " 创建日期: " << info.created().toString("yyyy-MM-dd hh:mm:ss");
  31. qDebug() << " 修改日期: " << info.lastModified().toString("yyyy-MM-dd hh:mm:ss");
  32. }
  33. });
  34. }