public void mehrereEintraegeInDB() {
//eintrag in tabelle datentraeger
nurEinEintragInDbEintragen();
checkenObEingelesenerDatentraegerInDBUndNrLesen(); //muss gemacht werden damit nrDesMediums aus DB gelesen wird
//System.out.println("nr-medium = "+medienErkennung.tempDatenTraeger.nrDesMediums);
//einträge in tabelle datei
//String dateiQuery = "";
String dateiEndung = "";
Vector v = medienErkennung.tempDatenTraeger.mp3sAufMedium;
MySQLVerwaltung mp3MySQL = new MySQLVerwaltung(url,user,password,"");
for (int i = 0; i < v.size(); i++) {
//dateiendung ermitteln
StringTokenizer st = new StringTokenizer(((File)v.elementAt(i)).getName(),".");
do{dateiEndung = st.nextElement().toString().toLowerCase();
}while(st.hasMoreElements());
String dateTime = aenderungsDatumBestimmen(((File)v.elementAt(i)));
String verzeichnisAufMedium = verzeichnisAufMediumBestimmen(((File)v.elementAt(i)));
// ein "\" im verzeichnisname führt zu syntaxfehler im mysql
//deswegen noch ein "\"hinzufügen
verzeichnisAufMedium = verzeichnisAufMediumMitUmgedrehtenBackSlash(verzeichnisAufMedium);
verzeichnisAufMedium = this.kommasInDateiNameEntfernen(verzeichnisAufMedium);
verzeichnisAufMedium = this.hochKommasInDateiNameEntfernen(verzeichnisAufMedium);
//int dateiGroesse = ((int)((File)v.elementAt(i)).length())/(1024*1024);
double dateiGroesseDouble = Math.rint( ((double)((File)v.elementAt(i)).length()/(1024*1024)) * 100 ) / 100.;
float dateiGroesseFloat = (float)dateiGroesseDouble;
//System.out.println("gefundene dateiGroesse für datei "+((File)v.elementAt(i)).getName()
//+" = " +dateiGroesseFloat);
//bei dateiname kommas entfernen da sonst mysql-syntax nicht stimmt
String nameOhneKommata = "";
if(((File)v.elementAt(i)).getName().indexOf(",")!= -1){
//System.out.println("gefundener name mit komma = "+((File)v.elementAt(i)).getName());
nameOhneKommata = kommasInDateiNameEntfernen(((File)v.elementAt(i)).getName());
}
if(((File)v.elementAt(i)).getName().indexOf("'")!= -1){
//System.out.println("gefundener name mit hochkomma = "+((File)v.elementAt(i)).getName());
nameOhneKommata = hochKommasInDateiNameEntfernen(((File)v.elementAt(i)).getName());
}
else{
nameOhneKommata = ((File)v.elementAt(i)).getName();
}
mp3MySQL.anfrageString = "insert into DATEI values(null,'"+dateiEndung+"'," +
dateiGroesseFloat+",'"+nameOhneKommata+"'," +
dateTime+",'"+verzeichnisAufMedium+"',"+medienErkennung.tempDatenTraeger.nrDesMediums+");";
//System.out.println(dateiQuery);
//dateien einzeln eintragen
try {
mp3MySQL.sqlAnfrageAnDBSchicken();
} catch (SQLException e) {
//System.out.println(e.toString());
}
//einträge in tabelle mp3File
int dateinr = -1; //ist der fremdschlüssel in der tabelle mp3file von tabelle datei
try {
System.out.println("vor try fs dateinr holen");
//fs dateinr holen
mp3MySQL.anfrageString = "select dateinr from DATEI where dateiEndung = '"+
dateiEndung+"' and dateiName = '"+ nameOhneKommata +
"' and datumLetzteDateiAenderung = "+dateTime+" and verzeichnisAufMedium = '"+
verzeichnisAufMedium+"' and nrDesMediums = "+ +medienErkennung.tempDatenTraeger.nrDesMediums+";";
//System.out.println("anfragestring = "+mp3MySQL.anfrageString);
ResultSet res = mp3MySQL.getResultSet();
while(res.next()){
dateinr = res.getInt(1);
}
//System.out.println("gefundene dateinr = "+dateinr);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(dateinr != -1){
System.out.println("vor try mp3file");
try {
String verzeichnisAufMediumUnbehandelt = verzeichnisAufMediumBestimmen(((File)v.elementAt(i)));
String nameDerMP3Datei = ((File)v.elementAt(i)).getName();
System.out.println("vor mp3file anlegen");
MP3File tempMP3File = new MP3File(verzeichnisAufMediumUnbehandelt,nameDerMP3Datei);
System.out.println("nach mp3file anlegen");
System.out.println("vor titel anlegen");
//titel bestimmen
TagContent tempTagContent;
try {
tempTagContent = tempMP3File.getTitle();
} catch (FrameDamagedException e3) {
// TODO Auto-generated catch block
tempTagContent = null;
//e3.printStackTrace();
}
String songTitel;
if(tempTagContent == null){
songTitel = " ";
}
else{
songTitel = tempTagContent.getTextContent();
System.out.println("nach titel anlegen");
if(songTitel != null){
if(songTitel.indexOf("'")!= -1){
songTitel = this.hochKommasInDateiNameEntfernen(songTitel);
}
if(songTitel.indexOf(",")!= -1){
songTitel = this.kommasInDateiNameEntfernen(songTitel);
}
}
}
/*if(songTitel != null && songTitel.equals("")){
songTitel = null;
}*/
//System.out.println("songtitel = "+songTitel);
//interpret bestimmen
System.out.println("vor interpret");
try{
tempTagContent = tempMP3File.getArtist();
}
catch(FrameDamagedException e3) {
// TODO Auto-generated catch block
tempTagContent = null;
//e3.printStackTrace();
}
String interpret;
if(tempTagContent == null){
interpret = " ";
}
else{
interpret = tempTagContent.getTextContent();
System.out.println("nach interpret");
if(interpret != null){
if(interpret.indexOf("'")!= -1){
interpret = this.hochKommasInDateiNameEntfernen(interpret);
}
if(interpret.indexOf(",")!= -1){
interpret = this.kommasInDateiNameEntfernen(interpret);
}
}
if(interpret != null && interpret.equals("")){
interpret = null;
}
}
//System.out.println("interpret = "+interpret);
//trackläenge
System.out.println("vor länge");
try{
tempTagContent = tempMP3File.getTime();
}
catch(FrameDamagedException e3) {
// TODO Auto-generated catch block
tempTagContent = null;
//e3.printStackTrace();
}
String tracklaenge;
if(tempTagContent == null){
tracklaenge = " ";
}
else{
tracklaenge = tempTagContent.getTextContent();
System.out.println("nach länge");
if(tracklaenge == null){
long trackDauerInSekunden = tempMP3File.getLength();
int stunden = (int)trackDauerInSekunden/(60*60);
int minuten = ((int)trackDauerInSekunden - (stunden * 3600))/60;
int sekunden = (int)trackDauerInSekunden - (stunden * 3600) - (minuten * 60);
tracklaenge = stunden+":"+minuten+":"+sekunden;
//System.out.println("trackdauer = "+stunden+":"+minuten+":"+sekunden);
}
}
//System.out.println("tracklaenge = "+tracklaenge);
//genre
try{
tempTagContent = tempMP3File.getGenre();
}
catch(FrameDamagedException e3) {
// TODO Auto-generated catch block
tempTagContent = null;
//e3.printStackTrace();
}
String genre;
if(tempTagContent == null){
genre = " ";
}
else{
genre = tempTagContent.getTextContent();
if(genre != null){
if(genre.indexOf("'")!= -1){
genre = this.hochKommasInDateiNameEntfernen(genre);
}
if(genre.indexOf(",")!= -1){
genre = this.kommasInDateiNameEntfernen(genre);
}
}
if(genre != null && genre.equals("")){
genre = null;
}
if(genre != null){
int start = genre.indexOf("(");
int stop = genre.indexOf(")");
//wenn (genreNr) in genreTag
if(stop != -1 && start != -1){
//System.out.println("nr im tag; genre vor zuordnung= "+genre);
int genreNr = Integer.parseInt(genre.substring(start+1,stop));
genre =genreMp3NachNrZuordnen(genreNr); //genreName zuordnen
//tempTagContent = tempMP3File.getTitle();
//System.out.println("nr im tag; genre nach zuordnung= "+genre
// +"; genrenr = "+genreNr+" für den titel "+tempTagContent.getTextContent());
}
/*else{
System.out.println("keine nr im tag; genre = "+genre);
}*/
/*for (int genreNr = 0; genreNr < 116;genreNr++){
//wenn zahl im genre gefunden
if(genre.indexOf(""+genreNr)!= -1){
genre =genreMp3NachNrZuordnen(genreNr);
}
}*/
}
}
//System.out.println("genre = "+genre);
//bitrate
int bitrate;
bitrate = tempMP3File.getBitrate();
}
if(tempTagContent == null){
bitrate = -1;
}
//System.out.println("bitrate = "+bitrate);
//jahr
String jahr;
try{
tempTagContent = tempMP3File.getYear();
}
catch(FrameDamagedException e3) {
// TODO Auto-generated catch block
tempTagContent = null;
//e3.printStackTrace();
}
if(tempTagContent == null){
jahr = "-1";
}
else{
jahr = tempTagContent.getTextContent();
if(jahr != null){
if(jahr.indexOf("'")!= -1){
jahr = this.hochKommasInDateiNameEntfernen(jahr);
}
if(jahr.indexOf(",")!= -1){
jahr = this.kommasInDateiNameEntfernen(jahr);
}
}
if(jahr != null && jahr.equals("")){
jahr = null;
}
}
//System.out.println("jahr = "+jahr);
//album
try{
tempTagContent = tempMP3File.getAlbum();
}
catch(FrameDamagedException fde){
tempTagContent = null;
//System.out.println("album null");
}
catch(TagFormatException tfe){
tempTagContent = null;
}
String album;
if(tempTagContent == null){
album = " ";
}
else{
album = tempTagContent.getTextContent();
if(album != null){
if(album.indexOf("'")!= -1){
album = this.hochKommasInDateiNameEntfernen(album);
}
if(album.indexOf(",")!= -1){
album = this.kommasInDateiNameEntfernen(album);
}
}
if(album != null && album.equals("")){
album = null;
}
}
//System.out.println("album = "+album);
// mp3dateien anlegen
mp3MySQL.anfrageString = "insert into mp3file values(null,'"+songTitel+"','"+
interpret+"','"+tracklaenge+"','"+genre+"',"+bitrate+","+jahr+",'"+album+"',"+dateinr+");";
//System.out.println("mp3MySQL.anfrageString ="+mp3MySQL.anfrageString);
try {
mp3MySQL.sqlAnfrageAnDBSchicken();
} catch (SQLException e4) {
// TODO Auto-generated catch block
e4.printStackTrace();
}
} catch (ID3v2WrongCRCException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (ID3v2DecompressionException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (ID3v2IllegalVersionException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (NoMP3FrameException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}