问题:
如何以独立于平台的方式将资源文件复制到磁盘,同时保留文件名?
示例和说明:
我的资源文件(.qrc 文件)中有文件,例如:
:/student/stud_temp (student/template.txt)
:/student/examples/stud_exOne (student/examples/student_example1.txt)
:/student/examples/stud_exTwo (student/examples/student_example2.txt)
:/lecturer/lec_temp (lecturer/template.txt)
:/lecturer/lec_ex (lecturer/lecturer_example.txt)
:/lecturer/data/lec_data (lecturer/data/data_file.dat)
我想将这些文件复制到磁盘上,为了示例,保留文件结构。
所以生成的文件夹结构应该是这样的(unix系统):
$ ls $PWD
student lecturer
$ ls $PWD/student
template.txt
examples
$ ls $PWD/lecturer
template.txt
lecturer_example.txt
data
这里建议复制到文件系统的方法,如下图,但需要指定文件名。但是,这应该自动获取资源的原始文件名。
目前我需要执行以下操作来复制文件夹结构:
QDir::mkpath("../student");
QFile::copy(":/student/template.txt", "../student/template.txt")
但是我不敢相信这是最好的方法。
此外,由于目录分隔符,此方法依赖于平台(虽然是小问题)。
有没有更好的方法来实现这一目标?