Проблема:
Как скопировать файлы ресурсов, сохраняя имена файлов, на диск независимо от платформы?
Пример и объяснение:
У меня есть файлы в моем файле ресурсов (.файл 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")
Однако я не могу поверить, что это лучший способ.
Кроме того, этот метод зависит от платформы из-за разделителей каталогов (хотя и тривиальная проблема).
Есть ли лучшие способы добиться этого?
Задача ещё не решена.
Других решений пока нет …