2023-07-15 00:06:30 +08:00
|
|
|
|
#pragma once
|
|
|
|
|
|
2023-07-15 00:27:06 +08:00
|
|
|
|
#include<hgl/type/DataArray.h>
|
2023-07-15 00:06:30 +08:00
|
|
|
|
#include<hgl/io/FileInputStream.h>
|
|
|
|
|
namespace hgl
|
|
|
|
|
{
|
|
|
|
|
/**
|
2023-07-15 00:27:06 +08:00
|
|
|
|
* 加载一个文件到数据阵列中
|
2023-07-15 00:06:30 +08:00
|
|
|
|
*/
|
2023-07-15 00:27:06 +08:00
|
|
|
|
template<typename T> static DataArray<T> *LoadFileToDataArray(const OSString &filename)
|
2023-07-15 00:06:30 +08:00
|
|
|
|
{
|
|
|
|
|
io::FileInputStream fis;
|
|
|
|
|
|
|
|
|
|
if(!fis.Open(filename))return(nullptr);
|
|
|
|
|
|
|
|
|
|
const size_t file_size =fis.GetSize();
|
|
|
|
|
const size_t size =(file_size+sizeof(T)-1)/sizeof(T);
|
|
|
|
|
|
2023-07-15 00:27:06 +08:00
|
|
|
|
DataArray<T> *mb=new DataArray<T>(size);
|
2023-07-15 00:06:30 +08:00
|
|
|
|
|
|
|
|
|
fis.Read(mb->data(),file_size);
|
|
|
|
|
|
|
|
|
|
return(mb);
|
|
|
|
|
}
|
|
|
|
|
}//namespace hgl
|