The problem is this: you need to create separate files for each of the customers (customer) from the file already created, and each such file should contain information about the Name, Last Name, Price and Quantity. columns
public class FileOperations {
static final String DIR_NAME = "C:" + File.separator + "outdata" + File.separator; static final String FILE_NAME = "output.csv";
static File outputDir = new File(DIR_NAME); static File outputFile = new File(DIR_NAME + FILE_NAME); public static void save() throws IOException { if (outputFile.exists()) System.out.println("File " + outputFile.getAbsolutePath() + " already exists"); if (!outputDir.exists()) outputDir.mkdirs(); // true - adds data, false - replaces FileWriter fw = new FileWriter(outputFile, false); BufferedWriter bw = new BufferedWriter(fw); bw.write("number;firstname;lastname"); bw.newLine(); bw.write("1;\"John\";\"Smith\""); bw.newLine(); bw.write("2;\"Anne\";\"Brown\""); bw.close(); fw.close(); } public static String[][] readCsvFile(File inFile) throws FileNotFoundException { String[][] output = new String[3][4]; Scanner scanner = new Scanner(inFile); int i = 0; while (scanner.hasNext()) { String lineOfText = scanner.next(); System.out.println("Line " + i + ": " + lineOfText); String[] cells = lineOfText.split(";"); System.out.println("Cells: " + java.util.Arrays.toString(cells)); for (int j=0;j<cells.length;j++) { output[i][j] = cells[j]; } i++; } scanner.close(); return output; } public static void main(String[] args) { try { save(); String[][] out = readCsvFile(outputFile); for (int i =0;i<out.length;i++) { System.out.println("Row: " + java.util.Arrays.toString(out[i])); } } catch (IOException e) { System.out.println("File is not writeable: " + e.getMessage()); } } } `