Hallo,
also ich habe ein Problem mit dem Scanner.
Fragestellung: Zwei Textdateien sollen zu einer CSV zusammengefügt werden und zwar immer so:
erste Zeile Datei1, erste Zeile Datei2(Ohne ID)
zweite Zeile Datei1, zweite Zeile Datei2(Ohne ID)
usw.
Es gibt noch ein paar Feinheiten dabei:
in einer Textdatei sind Nachkommastellen, wenn sie 0 sind abgeschnitten, dh nicht 5.0, sonder nur 5.
in dieser Textdatei sind auch keine Kommas vorhanden, in der anderen schon..
Das Ergebnis soll eine CSV File sein.
Es funktioniert grundsätlich, nur dass ich dann ab der 10. Zeile auf einmal 2 ',' hintereinander habe. Ich weiß nicht wo genau der Fehler liegt, aber igendwo wirds ne Kleinigkeit sein...
Die beiden Dateien habe ich hier abgelegt
Wenn jemand einen anderen Lösungsvorschlag hat, bin ich auch nicht abgeneigt, aber wärs dann super wenn er/sie es dann auch gleich programmiert, is ja nicht viel Arbeit(dieser Satz wird viel zu oft gesagt, trifft aber hier zu)
hier mal der Code:
also ich habe ein Problem mit dem Scanner.
Fragestellung: Zwei Textdateien sollen zu einer CSV zusammengefügt werden und zwar immer so:
erste Zeile Datei1, erste Zeile Datei2(Ohne ID)
zweite Zeile Datei1, zweite Zeile Datei2(Ohne ID)
usw.
Es gibt noch ein paar Feinheiten dabei:
in einer Textdatei sind Nachkommastellen, wenn sie 0 sind abgeschnitten, dh nicht 5.0, sonder nur 5.
in dieser Textdatei sind auch keine Kommas vorhanden, in der anderen schon..
Das Ergebnis soll eine CSV File sein.
Es funktioniert grundsätlich, nur dass ich dann ab der 10. Zeile auf einmal 2 ',' hintereinander habe. Ich weiß nicht wo genau der Fehler liegt, aber igendwo wirds ne Kleinigkeit sein...
Die beiden Dateien habe ich hier abgelegt
Wenn jemand einen anderen Lösungsvorschlag hat, bin ich auch nicht abgeneigt, aber wärs dann super wenn er/sie es dann auch gleich programmiert, is ja nicht viel Arbeit(dieser Satz wird viel zu oft gesagt, trifft aber hier zu)
hier mal der Code:
Java:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class CSVMain {
/**
* @param args
*/
public static void main(String[] args)
{
System.out.println("Sers Wölt");
File knoten = new File("C:\\knoten.txt");
File deformation = new File("C:\\deformation.txt");
String knotenString = "";
String deformationString = "";
String gesamtString = "";
try {
int knotenZähler = 0;
int deformationZähler = 0;
Scanner knotenScan = new Scanner(knoten);
Scanner deformationScan = new Scanner(deformation);
while(knotenScan.hasNext()&&knotenZähler/4 < 5000)
{knotenZähler++;
String temp = knotenScan.next();
if(temp.endsWith("."))
{
temp=temp+"0";
}
if(temp.endsWith(".,"))
{
temp=temp.subSequence(0, temp.length()-1)+"0,";
}
knotenString= knotenString+temp;
if(knotenZähler%4 == 0)
{
knotenString = knotenString+",";
}
deformationZähler++;
if(deformationZähler%4 ==0)
{
deformationString= deformationString+deformationScan.next()+";";
}
else
{
deformationString= deformationString+deformationScan.next()+",";
}
if(knotenZähler%4==0)
{
gesamtString +="\n"+ knotenString+deformationString.substring(2);
knotenString="";
deformationString = "";
if((knotenZähler/4)%1000 ==0)System.out.println(knotenZähler/4+": "+gesamtString);
}
}
System.out.println(gesamtString);
try {
FileWriter fw = new FileWriter("C:\\csv.csv");
fw.write(gesamtString);
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(knotenString);
}
}