Java code om regel in CSV bestand te verwijderen

Status
Niet open voor verdere reacties.

automatefreak

Nieuwe gebruiker
Lid geworden
1 dec 2014
Berichten
1
Ik zal mijn probleem uitleggen. Ik gebruik een geautomatiseerd test tool, waarbij je het een en ander kan aanpassen/tunen met gebruik van javacode. Een testscript bestaat uit drie gedeeltes; Begin, Run en Finish. In het begingedeelte is het de bedoeling dat ik de bestaande Output CSV bestand verwijder, en een nieuwe aanmaak (met drie kolommen). Dit doe ik met de volgende code:
utilities.getFileService().deleteFile(
eval("{{db.algemeen.directory}}") + "gebruikersbeheer/"
+ "output_create_person.csv");
utilities.getFileService().appendStringToFile(
eval("{{db.algemeen.directory}}") + "gebruikersbeheer/"
+ "output_create_person.csv",
"x,lastname_person,name_person");

Het run gedeelte is iteratief (afhankelijk van aantal variabelen/regels in CSV input bestand). In het Run gedeelte zal de eerste kolom(X) voorzien worden van de waarde x. Verder in het Run gedeelte zullen de twee overige kolommen ook voorzien worden van waarden. De volgende code wordt hier gebruikt:
utilities.getFileService().appendStringToFile(
eval("{{db.algemeen.directory}}") + "gebruikersbeheer/"
+ "output_create_person.csv", "\n"+"x,");

Het probleem dat ik wil oplossen luidt als volgt: Stel dat de test vier iteraties heeft. Wanneer het Run gedeelte crasht bij bijv. iteratie twee, dan zou het Output CSV bestand er zo uit zien:
X,lastname_person,name_person (<-kolom)
X,Janssen,Rick
X,
X,Debok,Jack
X,Williams,Jason

Zo een output zou ik graag willen voorkomen. De reden is dat ik op deze manier bij de volgende testscript problemen ga krijgen. Namelijk dat hij bij alle regels drie kolommen leest, maar bij regel twee, slechts twee kolommen, waardoor deze testscript helemaal crasht.
Het oplossingsconcept dat ik in gedachte heb is dat hij eerst “x,,” zou moeten schrijven aan het begin van het Run gedeelte, en achteraf (wanneer hij niet crasht) deze regel weer verwijdert en in plaats daarvan ” x, “ schrijft plus de overige waarden erachter.
Op deze manier verwacht ik namelijk dat hij in geval van een crash drie kolommen schrijft(alhoewel leeg).
Zou iemand mij kunnen helpen aan de Java code die het mogelijk maakt de regel (x,,)te verwijderen van het CSV output bestand.

Bij voorbaat dank. Uw hulp wordt erg gewaardeerd!
 
Laatst bewerkt:
als ik het effen bekijk vraag ik me al af wat utilities is.
Code:
    utilities.getFileService().deleteFile(
            eval("{{db.algemeen.directory}}") + "gebruikersbeheer/"+ "output_create_person.csv");
    utilities.getFileService().appendStringToFile(
            eval("{{db.algemeen.directory}}") + "gebruikersbeheer/"+ "output_create_person.csv","x,lastname_person,name_person");
    utilities.getFileService().appendStringToFile(
            eval("{{db.algemeen.directory}}") + "gebruikersbeheer/"+ "output_create_person.csv", "\n"+"x,");

bekijk eens
Code:
 1  FileInputStream fin = null;
 2  FileOutputStream fout = null;
 3  File file = new File("C:/myfile1.txt");
 4  fin = new FileInputStream(file);
 5  fout = new FileOutputStream("C:/myfile2.txt");
 6  byte[] buffer = new byte[1024];
 7  int bytesRead;
 8  while ((bytesRead = fin.read(buffer)) > 0) {
 9         fout.write(buffer, 0, bytesRead);
 10  }
 11  fin.close();
indien je mail kort plaatst stuur ik u wel een mail met een documentje op (odt)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan