0

问题:

如何以独立于平台的方式将资源文件复制到磁盘,同时保留文件名?

示例和说明:

我的资源文件(.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")

但是我不敢相信这是最好的方法。

此外,由于目录分隔符,此方法依赖于平台(虽然是小问题)。

有没有更好的方法来实现这一目标?

4

0 回答 0