11#include "Misc/Paths.h"
12#include "HAL/PlatformFileManager.h"
16 UCSVFile* CSVFile = NewObject<UCSVFile>(UCSVFile::StaticClass());
20 CSVFile->
Create(FileNameWithoutExtension, Settings);
30 IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile();
31 if (!PlatformFile.DirectoryExists(*BasePath))
33 PlatformFile.CreateDirectoryTree(*BasePath);
36 FString FullPath = FPaths::Combine(*BasePath, FileNameWithoutExtension + TEXT(
".csv"));
37 UE_LOG(LogTemp, Warning, TEXT(
"FullPath: %s"), *FullPath);
42 while (FPaths::FileExists(FullPath))
44 FullPath = FPaths::Combine(*BasePath, FileNameWithoutExtension + FString::Printf(TEXT(
"_%d.csv"), Counter++));
60 std::ios_base::openmode Mode = std::ios::out;
63 Mode |= std::ios::app;
75 FString Delimiter = TEXT(
",");
78 Delimiter = TEXT(
";");
82 Delimiter = TEXT(
"\t");
86 FString Line = FString::Join(Cells, *Delimiter);
104 CSVStream << TCHAR_TO_UTF8(*Line) << std::endl;
128 ConditionalBeginDestroy();
static FString GetDataFolder()
static UCSVFile * CreateCSVFile(const FString &FileNameWithoutExtension, const FCSVFileSettings &Settings)
void WriteRaw(const FString &Line)
void Create(const FString &FileNameWithoutExtension, const FCSVFileSettings &Settings)
TArray< FString > PendingRows
FCSVFileSettings CurrentSettings
void WriteRow(const TArray< FString > &Cells)
static void OpenFileExplorer(FString Path)
FCSVFileWriteOptions FileWriteOption