kleines script abhaengig von Ordner Bilder kopieren

Status
Nicht offen für weitere Antworten.
D

DerNeuling

Gast
Ich möchte gerne ein Script schreiben, dass mir Bilder aus einem Verzeichnis auf der HD in die entsprechenden Ordner auf einem USBstick packt. Da ich mich zurzeit mit Java beschäftige (aufgrund meiner Ausbildung), dachte ich mir, es waere kein Fehler das Problem mit java zulösen.

Noch bin ich aber leider ein absoluter Newb, deshalb habe ich hier mal mit meinen halb pseudo halb java code anzudeuten versucht, was ich erreichen möchte:

Code:
public class PicFolder {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		final String USBPATH = "<Pfad des USB Sticks>";
		final String PICPATH = "<Pfad der Bilder auf der Festplatte>";
		final String DEFAULT = PICPATH + "\\default.jpg";
		String[] Interpret = new String[100];
		String [] Album[Interpret][] = new String[50];
		String ActPicFile = "";
		String ActUsbPath = "";

		Interpret[] << <Name der Ordner in USBPATH\>;

		for Interpret[] {
			Album[Interpret][] << <Name der Ordner in USBPATH\Interpret\>;
			for Album[Interpret][] {
		                ActPicFile = PICPATH + "\\" + Interpret + "_" + Album + ".jpg";
		                ActUsbPath = USBPATH + "\\" + Interpret + "\\" + Album + "\\";
				if(<ActPicFile exists>) {
					<copy ActPicFile ActUsbPath>;
				} else {
					<copy DEFAULT ActUsbPath>;
				}
			}
		}
	}

}

Ich waere euch für Vorschläge/Ideen und Hilfen sehr dankbar, da ich hier vor einer für mich noch unüberwindbaren Aufgabe stehe 8)

vielen Dank,
Heinz
 
D

DerNeuling

Gast
wie ich die Lücken füllen kann, die ich selber nicht hinbekommen hab...

Heinz
 

The_S

Top Contributor
lol!? Aber ansonsten hast du keine Probleme!? Geh Schritt für Schritt voran und geb uns ALLE infos. Damit lässt sich dir wenig helfen ... Außerdem ist es viel einfacher, wenn du uns aufschreibst, was nicht klappt, als wenn wir uns die Infos aus deinem Code ziehen müssen :roll:

Code:
		final String USBPATH = "<Pfad des USB Sticks>";

Du kannst aus Java nicht so einfach feststellen, ob ein Root-Verzeichnis eine Festplatte, ein USB-Stick oder sonstwas ist. Fest einbinden oder einen JFileChooser verwenden.

Code:
		final String PICPATH = "<Pfad der Bilder auf der Festplatte>";

fest einbinden, über JFileChooser eingeben, aus einem Properties-File lesen.

Code:
		String[] Interpret = new String[100];
		String [] Album[Interpret][] = new String[50];

Hast du eine fixe Anzahl an Interpreten und Alben? Falls nein => ArrayList verwenden. Und was ist ein String Array mit dem Namen Album[Interpret][]? Der Name ist ungültig. Falls du damit anzeigen möchtest, dass ein Album einen oder mehrere Interpreten haben kann => so geht das nicht.

Variablennamen werden klein geschrieben.

Code:
		String ActPicFile = "";
		String ActUsbPath = "";

Variablennamen werden immernoch klein geschrieben

Code:
		Interpret[] << <Name der Ordner in USBPATH\>;

Wie schaut die Klasse Interpret aus? Oder soll das gar keine andere Klasse andeuten? => Deutlicher ausdrücken was du willst

Code:
		for Interpret[] {

Ab Java 5

Code:
for (Interpret inter : InterpretArray)

Vorher

Code:
for (int i = 0; i < InterpretArray.length; i++)

!

Code:
		for Interpret[] {
			Album[Interpret][] << <Name der Ordner in USBPATH\Interpret\>;
			for Album[Interpret][] {
			}
		}

:shock: ... was willst du damit bezwecken?

Code:
					<copy ActPicFile ActUsbPath>;

Wenn du Dateien kopieren willst, kannst du dir z. B. die Klasse FileChannel anschauen.
 
D

DerNeuling

Gast
WOW vielen Dank erstmal für die Hilfe!!

Als erstes mal das Problem:
Ich hab einen USB-Stick, der mit meiner Playlist synchronisiert wird. (Media Player). Fürs Autoradio hätte ich jetzt gerne in den Alben immer noch das entsprechende Album-Bild.
Die Ordner-Struktur auf dem USB ist immer <Laufwerbuchstabe>:\Interpret\Album\, Die Bilder hab ich alle in einem Ordner, und die heißen Interpret_Album.jpg

Da ich mich bis jetzt (wenns hoch kommt) vielleicht 10h mit Java beschaeftigt habe, ist das ganze vll auch einfach eine nummer zu groß, aber ich wollte endlich mal von shell wegkommen, auch wenn es damit wesentlich eifacher waere.

Meine Idee war, dass ich die Alben in einen 2 Dimensionalen Array schreibe, und dann für jeden eintrag im Array das entsprechende Bild kopiere.

aber ich glaube ich sollte nochmal an meinen Grundlagenkenntnissen arbeiten, bevor ich mich da rein stuerze >D
 

The_S

Top Contributor
na sags doch gleich. Damit lässt sich was anfangen, ist gar nicht so schwer ;) . Ich bau dir mal eben was ...
 

Leroy42

Top Contributor
DerNeuling hat gesagt.:
Noch bin ich aber leider ein absoluter Newb, deshalb habe ich hier mal mit meinen halb pseudo halb java code anzudeuten versucht, was ich erreichen möchte:

Dein Code zeigt, dass du tatsächlich ein absoluter Newbie bist,
und du dich mit deiner Aufgabenstellung überforderst.

So hat das keinen Sinn.

Weder werden wir dir dein Programm schreiben, noch geben
wir hier eine Einführung in Java anhand deiner Aufgabenstellung,
da sich das über mehrere Seiten hinziehen würde.

Du müsstest dir schon selbst grundlegende Begriffe erarbeiten oder
einfach warten, bis sie dir im Unterricht beigebracht werden.
 

Leroy42

Top Contributor
Ohh, ich sehe gerade, daß Hobbit sich erbarmt hat und dir was
zusammenbaut/bastelt; also abwarten...

Aber einen Nutzen für dich, kann ich da trotzdem nicht erkennen.
 

The_S

Top Contributor
@Leroy

ich schätze denNeuling so ein, dass er lernbegierig ist, und nicht nur meinen Code blind kopiert, sondern auch versucht selbigen zu verstehen.

@derNeuling

Ich habe mir jetzt zu Testzwecken auf C:\ einen Ordner test angelegt. Darin befindet sich die Verzeichnisse "platte" (soll das Verzeichnis auf deiner Festplatte simulieren) und "usbsimu" (soll deinen USB-Stick simulieren). In dem Verzeichnis "platte" liegen 4 Bilder:

Interpret1_album1.jpg
Interpret1_album2.jpg
Interpret2_album1.jpg
Interpret3_album3.jpg

Im Verzeichnis "usbsimu" befindet sich vollgende Ordnersturktur:

Interpret1/album1
Interpret1/album2
Interpret2/album1
notfoundpics

Unter diesen Voraussetzungen sollte dieser Code hier

Code:
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

public class PicCopy {

	public static void main(String[] args) throws IOException {
		
		File src = new File("C:/test/platte/");
		File temp = null;
		String tar = "C:/test/usbsimu/";
		String[] parts = null;
		FileChannel in = null;
		FileChannel out = null;
		
		File[] pics = src.listFiles(new FileFilter() {

			public boolean accept(File f) {

				if (f.isDirectory()) { // keine Directorys
					return false;
				}
				if (f.getName().toLowerCase().endsWith(".jpeg") || f.getName().toLowerCase().endsWith(".jpg")) { // Dateiendungen der Bilder
					if (f.getName().contains("_")) { // muss _ zweckes Trennung Interpret/Album enthalten
						return true;
					}
				}
				return false;
			}
			
		});
		
		for (int i = 0; i < pics.length; i++) {
			in = new FileInputStream(pics[i]).getChannel();
			parts = pics[i].getName().substring(0, pics[i].getName().lastIndexOf(".")).split("_");
			temp = new File(tar + parts[0] + "/" + parts[1]);
			if (temp.exists()) {
				out = new FileOutputStream(temp.getAbsolutePath() + "/" + pics[i].getName()).getChannel();
			}
			else {
				out = new FileOutputStream(tar + "notfoundpics/" + pics[i].getName()).getChannel();
			}
			in.transferTo(0, pics[i].length(), out);
			in.close();
			out.close();
		}
	}
}

genau das machen, was du möchtest.
 

Leroy42

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
@Leroy
ich schätze denNeuling so ein, dass er lernbegierig ist, und nicht nur meinen Code blind kopiert, sondern auch versucht selbigen zu verstehen.

Das sehe ich genauso, aber ein bischen geduldiger sollte
er schon werden, was er ja auch selbst schreibt:

DerNeuling hat gesagt.:
aber ich glaube ich sollte nochmal an meinen Grundlagenkenntnissen arbeiten, bevor ich mich da rein stuerze

:cool:
 
D

DerNeuling

Gast
@Leroy kann deine Bedenken verstehen, habs ja auch schon gemerkt XD aber dann kann ich wenigtens sehen, wie man es richtig macht .. aber ich glaub meine Zukuenftigen uebungen werden in niedrigerem niveau stattfinden =D

@Hobbit vielen Dank, ich werde versuchen, den Code, soweit es mir m;glich ist, zu verstehen ... und der Nutzen wird sicherlich nicht auf der Strecke bleiben ... wenn ich es jetzt nur kopieren wuerde, haette ich es ebenso gut in shell oder perl schreiben koennen xD

Vielen Dank,
Heinz

PS das Forum ist klasse! jetzt weiss ich, wo ich in Zukunft Hilfe finden kann ... aber ich glaube ich lass vorher noch ein paar unterrichts stunden ueber mich ergehen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C kleines Java script mit Frage Java Basics - Anfänger-Themen 2
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
J Kleines Rechenprogramm Java Basics - Anfänger-Themen 13
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
B Input/Output Kleines Netzwerkproblem Java Basics - Anfänger-Themen 2
J OOP Kleines Schülerverwaltungsprogramm Java Basics - Anfänger-Themen 9
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
N ein kleines GUI mit einem hauch XML Java Basics - Anfänger-Themen 5
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
T erstes kleines Programm Java Basics - Anfänger-Themen 17
S Kleines Quiz Programm Java Basics - Anfänger-Themen 4
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
K Ein kleines Rätsel Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
D kleines problem bei system.out.println schreibweise Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
A Best Practice Ideen für kleines Anfängerschulprojekt gesucht Java Basics - Anfänger-Themen 4
J kleines Karteikartenprogramm Java Basics - Anfänger-Themen 3
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
H Kleines Prob Java Basics - Anfänger-Themen 5
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Flaechen vergleichen/kleines Fehler? Java Basics - Anfänger-Themen 23
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5
M Kleines Problem mit der Rekursion Java Basics - Anfänger-Themen 20
K Kleines Projekt Java Basics - Anfänger-Themen 2
T Kleines Game mit Kollision Java Basics - Anfänger-Themen 2
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
H kleines Spiel [Processing] Java Basics - Anfänger-Themen 7
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
R Kleines Programm, benötige Hilfe! Java Basics - Anfänger-Themen 6
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
R Login mit Datenbankabfrage: Kleines Problem! Java Basics - Anfänger-Themen 6
K Kleines Anfänger Problem bei der Abfrage Java Basics - Anfänger-Themen 8
X Kleines JMenuBar Problem Java Basics - Anfänger-Themen 8
D Kleines Abfrageproblem Java Basics - Anfänger-Themen 3
K kleines Rekursionsproblem Java Basics - Anfänger-Themen 7
P RSA Verschlüsselung kleines Problem Java Basics - Anfänger-Themen 5
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
P Kleines Problemm mit einer NullPointerException Java Basics - Anfänger-Themen 2
R kleines Kunstprogramm "mkbox" perfektionieren Java Basics - Anfänger-Themen 13
P wahrscheinlich ein kleines Problem Java Basics - Anfänger-Themen 7
P Kleines Projekt -> Große Überlegungen Java Basics - Anfänger-Themen 2
U Bitte Helfen kleines Spiel Java Basics - Anfänger-Themen 9
K Kleines Spiel / Daten speichern Java Basics - Anfänger-Themen 8
T Kleines Spiel realisieren - wie? Java Basics - Anfänger-Themen 6
H Kleines Problem mit der Polymorphie Java Basics - Anfänger-Themen 2
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
K kleines Array-Problem Java Basics - Anfänger-Themen 6
C Kleines 2D Spiel. Problem. Java Basics - Anfänger-Themen 5
T Kleines Verständnissproblem mit Regex Java Basics - Anfänger-Themen 4
U Kleines Problem mit Konstruktor^^ Java Basics - Anfänger-Themen 7
S Kleines Kartenspiel mit Java Java Basics - Anfänger-Themen 2
D kleines Eclipse-Problem ! Java Basics - Anfänger-Themen 2
I Kleines Program, fehler? Java Basics - Anfänger-Themen 2
S kleines Würfelspiel Java Basics - Anfänger-Themen 10
0 Frage zu Architektur: Server eines kleines Spiels Java Basics - Anfänger-Themen 4
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
C kleines Menü erzeugen und anzeigen Java Basics - Anfänger-Themen 11
S Kleines TickTackTou Java Basics - Anfänger-Themen 10
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
M Kleines Problem mit Threads (synchronized) Java Basics - Anfänger-Themen 3
J Java, kleines denkproblem. :) Java Basics - Anfänger-Themen 4
N Kleines Problemchen mit ButtonGroup Java Basics - Anfänger-Themen 2
W ein kleines Projekt! Aber wie beginnen Java Basics - Anfänger-Themen 4
S Kleines Problem... NaN, Infinity? Java Basics - Anfänger-Themen 9
B Drag and Drop fähige Trackliste..nurnoch ein kleines Problem Java Basics - Anfänger-Themen 16
G Kleines Problem mit File Java Basics - Anfänger-Themen 7
O Neuen Blackberry 8800 oder Curve gegen kleines Programm Java Basics - Anfänger-Themen 9
Z kleines projekt Java Basics - Anfänger-Themen 3
G ein kleines java prog - hat aber einen fehler-bitte um hilfe Java Basics - Anfänger-Themen 5
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
N Nur ein kleines Installationsproblem . Java Basics - Anfänger-Themen 5
G Kleines Problem mit Nimmspiel Java Basics - Anfänger-Themen 8
U kleines problem bei ner aufgabe :( Java Basics - Anfänger-Themen 8
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
S Kleines Programm mit ArrayList Java Basics - Anfänger-Themen 7
M Kleines Programm Java Basics - Anfänger-Themen 5
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Kleines Problem Java Basics - Anfänger-Themen 3
G Kleines Grundsatzproblem Java Basics - Anfänger-Themen 5
S Ich habe ein kleines Problem mit meinem Übungsprogramm Java Basics - Anfänger-Themen 7
S Hab ein kleines Problem :) Java Basics - Anfänger-Themen 4
K kleines bild ausgeben Java Basics - Anfänger-Themen 4
D noch ein kleines Problem Java Basics - Anfänger-Themen 4
M kleines generics problem Java Basics - Anfänger-Themen 15
B Kleines? Jedenfalls Problem mit Borland-Together! Java Basics - Anfänger-Themen 4
M kleines Java Programm (Verwaltung) Java Basics - Anfänger-Themen 16
K Kleines Programm zur Stapelverarbeitung schreiben, aber wie? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben