import lombok.val; import org.apache.commons.io.FileUtils; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Random; public class RandomGenerator { List createRandomGaussianSequence(int number){ var list = new ArrayList<>(); var random = new Random(); for(var i =0; i < number ; i++){ list.add(random.nextDouble()); } return list; } void createFile(String filename,String folder, List list){ try { FileWriter myWriter = new FileWriter("./"+folder+"/"+filename+".csv"); String values = ""; for(Double data: list) { values+= data +","; } //delete last comma values = values.replaceAll(", $", "\n"); myWriter.write(values); myWriter.close(); } catch (IOException e) { System.out.println("An error occurred."); e.printStackTrace(); } } void createDirectories(String featureDir, String targetDir) { File feature = new File(featureDir); File target = new File(targetDir); boolean isFeatureDirectoryCreated = feature.mkdir(); if (isFeatureDirectoryCreated) { System.out.println("successfully made"); } else { deleteDir(feature); // Invoke recursive method feature.mkdir(); } boolean isTargetDirectoryCreated = target.mkdir(); if (isTargetDirectoryCreated) { System.out.println("successfully made"); } else { deleteDir(target); // Invoke recursive method feature.mkdir(); } } public void deleteDir(File dir) { File[] files = dir.listFiles(); for (File myFile: files) { if (myFile.isDirectory()) { deleteDir(myFile); } myFile.delete(); } } void createCSV(String featureFolder, String targetFolder, int numberOfFiles, int sizeOfSequence){ createDirectories(featureFolder, targetFolder); for(Integer i=0; i <= numberOfFiles; i++){ var list = createRandomGaussianSequence(sizeOfSequence); //Save Features createFile(i.toString(),featureFolder,list.subList(0,list.size()-2)); //Save Target createFile(i.toString(),targetFolder,list.subList(list.size()-2,list.size()-1)); } } }