コード例 #1
0
  @Override
  public void writeDataset(UsersDataset usersDataset, String fileName) throws IOException {

    String fileNameWithExtension = fileName;
    if (!fileNameWithExtension.endsWith(".csv")) {
      fileNameWithExtension = fileNameWithExtension + "." + CSV_EXTENSION;
    }

    StringBuilder stringBuilder = new StringBuilder();

    Feature[] features = usersDataset.getFeatures();

    stringBuilder.append(ID_ITEM_COLUMN_NAME).append(columnDelimiter);
    stringBuilder.append(ITEM_NAME_COLUMN_NAME);

    for (Feature userFeature : features) {
      String extendedName = userFeature.getExtendedName();
      stringBuilder
          .append(columnDelimiter)
          .append(stringDelimiter)
          .append(extendedName)
          .append(stringDelimiter);
    }

    stringBuilder.append(registerDelimiter);

    for (User user : usersDataset) {

      int idUser = user.getId();
      StringBuilder linea = new StringBuilder();

      // Escribir el id y el nombre
      linea
          .append(idUser)
          .append(columnDelimiter)
          .append(stringDelimiter)
          .append(user.getName())
          .append(stringDelimiter);
      for (Feature userFeature : features) {
        Object featureValue = user.getFeatureValue(userFeature);
        String featureValueString = userFeature.getType().featureValueToString(featureValue);
        linea.append(columnDelimiter).append(featureValueString);
      }

      linea.append(registerDelimiter);
      stringBuilder.append(linea.toString());
    }

    BufferedWriter bufferedWriter =
        new BufferedWriter(new FileWriter(new File(fileNameWithExtension)));
    bufferedWriter.write(stringBuilder.toString());
    bufferedWriter.flush();
    bufferedWriter.close();
  }