QT_File

catalog

Base

QFile file;
file.setFileName("F:/1.txt");
  'void setFileName(QString)只是: 关联文件 '
  '此时,file只能进行: 获取大小size(),重命名,删除等 <外围操作>'
  '对于:读取/修改该文件<里面>的内容, 此时是没有权限的!!! '

file.setFileName("a-c!~b3$#");
  '这也是可以的!!! ·他不会进行检查, 即使没有这个文件 也是没问题的!!!'
  
if(file.exists()){  '虽然此时这个文件没有open,但可以进行<外围操作>'
    file.remove();     '如果文件存在,就给删除掉 '
}
-------------------------------------------------

读 文本文件

 '文本文件:  txt, cpp, hpp, html, xml'
file.setFileName("F:/1.txt");

bool = file.open( QFile::ReadOnly );
' 如果是没有<F:/1.txt>文件, open是会失败的!!! '
' 即open( QFile::ReadOnly )必须保证: 这个文件是存在的!! '

if(file.open(QFile::ReadOnly)){
    char buf[1024];
    memset(buf, '#', sizeof(buf));
    int _siz = file.read(buf, sizeof(buf));
      'QIODevice::read(char*, qint64)是: 读取文件<所有>的数据'
        '_siz是:实际读了多少字节, qint64是 你限定最大读的字节'
      '一般,_siz == file.size()'
      ' 你txt里是:  (1 1)回车(1)    <1是49,空格是32> '

'/r回车是让光标回到当前行的开头,/n换行是让光标<下移动一格>'
'  Windows下: 键盘每打一个<回车>,都是<回车/r(13) + 换行/n(10)>'     
'  在Linus下: 键盘每打一个<回车>, 都是一个<换行/n(10)> ' 
			  '而且linux下, 即使最后一行没有回车,他会自动加上回车/n '
'即在Windows下是:49, 32, 49, 13, 10, 49  <file.size()=_siz=6> '
'而在Linus是:   49, 32, 49, 10, 49, 10 <_siz = 6> '
 					'注意,最后的10  是系统自动加的!!! '

}

写 文本文件

file.setFileName("/root/1.txt");

if(file.open( QFile::WriteOnly )){
	'如果没有1.txt文件, 这个文件是会创建出来的!!!'
	'  如果有,则他会把原文件 给清空!!! '
}
上一篇:49-通过字节码分析this关键字以及异常表的重要作用


下一篇:Leetcode 673. 最长递增子序列的个数(DAY 49) ---- 动态规划学习期(再写一题吃饭 此题含详细题解)