Bilder durch's Netzwerk usw ...

Samarek

Aktives Mitglied
Hallo,

ich habe gerade folgende Sorge ...

mein aktuelles Projekt soll auf allen Plattformen laufen (also Linux, Windows, Mac).

und das Programm soll Dateien auf einen Server im lokalen Netzwerk und wieder davon runter kopieren können und die Dateinamen und die Pfade in die die Dateien gelegt werden sollen liegen in einer Datenbank von wo das Programm sich die Infos dann holt.

Wer aufgepasst hat weiss jetzt schon wo mein Problem liegt :D
Und zwar fliegen mir, logischerweise, ständig die Pfade um die Ohren, kann mir da vielleicht mal jemand weiterhelfen mit nem Tutorial-Link, ner kleinen Erklärung worauf ich achten muss, wie ich es am besten angehe oder sowas?

Ich steh grad echt massiv auf dem Schlauch und mir fällt quasi garnichts dazu ein.
 
N

nillehammer

Gast
Nutze in Pfaden in Java immer forward Slashes. Das funktioniert immer. ...Mal so ins Blaue hineingeraten, weil ICH nicht erkennen kann, was Dein Problem konkret ist.
 

Samarek

Aktives Mitglied
Erstmal danke für den Tipp, das war mir aber durchaus klar.

Sorry, ich weiss dass ich mich sehr undeutlich ausdrücke, das hängt halt wirklich daran dass ich es einfach nicht richtig in meinem Kopf modelliert kriege.
Darum habe ich halt auch so große Probleme dabei das genauer zu umschreiben.

Also, das Problem ist halt einfach wenn ich z.B. die Daten auf einem Windowssystem auf dem gemappten Laufwerk T: liegen habe dann würde er ja den Pfad in der Datenbank als "auf Laufwerk T liegend" anlegen. Mit der Info können aber UNIXoide Systeme herzlich wenig anfangen, also bräuchte ich dann ja irgendwie einen Pfad mit dem sowohl Windows als auch UNIX was anfangen können.
 
Zuletzt bearbeitet:
M

maki

Gast
Also, das Problem ist halt einfach wenn ich z.B. die Daten auf einem Windowssystem auf dem gemappten Laufwerk T: liegen habe dann würde er ja den Pfad in der Datenbank als "auf Laufwerk T liegend" anlegen. Mit der Info können aber UNIXoide Systeme herzlich wenig anfangen, also bräuchte ich dann ja irgendwie einen Pfad mit dem sowohl Windows als auch UNIX was anfangen können.
SMB shares funzen auch unter *nix mit Sambaclient.
 

Bernd Hohmann

Top Contributor
und das Programm soll Dateien auf einen Server im lokalen Netzwerk und wieder davon runter kopieren können und die Dateinamen und die Pfade in die die Dateien gelegt werden sollen liegen in einer Datenbank von wo das Programm sich die Infos dann holt.

Kristallkugel: Du hast eine Datenbank der Form

Titel: The Last Stand
Darsteller: Arnie Schwarzenegger
Video: t:\videos\action\TheLastStand.avi

oder

Video: t:\videos\comedy\Kindergardencop.avi

Die Clients können in der Datenbank suchen und bekommen den LInk auf das Video zurück.

Geht so nicht. Lösung kommt jetzt darauf an, wie Dein Programm aussieht. Wenn das eine lokale Java-Anwendung (zb mit Swing) ist, dann lege dort lokal in einer Ini-Datei das Präfix zum Pfad ab (also hier t:\videos) und strippe das entsprechend in der Datenbank ab. Bei einer Webanwendung würde ich das Video einfach als Download mit entsprechendem Mime-Typ abspielen lassen.

War ich auf der richtigen Spur?

Bernd
 
T

tröööt

Gast
gehen wir das problem mal ganz anders an : KEINE absoluten pfade nutzen !

grundsätzlich hat man auf jedem system , gleich ob win, unix oder mac , in seinem "user.home" volle rechte ...

normalerweise kann man auch daten von anderen orten lesen ... aber schreiben verlangt dann meist immer erhöte admin-rechte ...

daraus kann man folgern : nutze nur relative pfade zum user.home ... auch wenn die daten von anderen orten gelesen wurden ...

in deiner datenbank sollten dann grundsätzlich nur pfade nach dem motto : "/video/action/blablub.avi" oder "/music/metal/blubbla.mp3" stehen ...

diese sollte der client relativ zum user.home auflösen ... falls nötig noch verzeichnisstruktur erstellen ... und dann in den pfad "user.home+pfad_aus_db" speichern ...

denn im gegensatz zu bernd habe ich es so verstanden das du in der datenbank nicht nur die pfad speicherst sondern auch die daten komplett auf den server hochlädst ...

dann müsste in der datenbank zusätzlich noch darüber "buch geführt" werden wo die daten auf dem server liegen damit die server-anwendung diese auch findet und zusammen mit dem neuen realtiven pfad ausliefert ...

wenn du allerdings jetzt darauf abzielst das du z.b. ein net-drive zum server verbindest und es da einfach reinschiebst ... musst du erstmal ermitteln an welche share das net-drive gekoppelt ist und dann dies relativ zum server-namen nehmen ...

ist alles einfacher als es sich anhört ... nur haben wir hier scheinbar echt alle ein problem damit deine aktuelle struktur zu verstehen ...
 

Samarek

Aktives Mitglied
nur haben wir hier scheinbar echt alle ein problem damit deine aktuelle struktur zu verstehen ...

Das ist ja durchaus ein valides Problem, ich habe ja bereits angemerkt dass ich Probleme damit habe dieses Problem in konkrete Worte zu fassen.

Also, das Problem ist halt einfach wenn ich z.B. die Daten auf einem Windowssystem auf dem gemappten Laufwerk T: liegen habe dann würde er ja den Pfad in der Datenbank als "auf Laufwerk T liegend" anlegen. Mit der Info können aber UNIXoide Systeme herzlich wenig anfangen, also bräuchte ich dann ja irgendwie einen Pfad mit dem sowohl Windows als auch UNIX was anfangen können.

Das hier war schonmal ein Versuch das Problem genau zu beschreiben, aber was noch fehlt ist die Info dass die Datei die hochgeladen werden soll ein Vorschaubild ist und der eigentliche Pfad auf einen x-beliebigen Netzwerk-Pfad verweisen kann. Der eigentliche Pfad beschreibt halt wo sich die Daten finden lassen, die auf dem Vorschaubild schon dargestellt sind.
Daher brauche ich eigentlich aufjedenfall absolute Pfade, der das Programm auf mehreren Rechnern im Netzwerk laufen können muss.
 
Zuletzt bearbeitet:
N

nillehammer

Gast
lso, das Problem ist halt einfach wenn ich z.B. die Daten auf einem Windowssystem auf dem gemappten Laufwerk T: liegen habe dann würde er ja den Pfad in der Datenbank als "auf Laufwerk T liegend" anlegen.
Ok, jetzt sehe ich, wo das Problem liegt. Du hättest gerne in Deinem Java-Code den Komfort, mit der File-API zu arbeiten und nicht mit irgendwelchen Netzwerk-APIs. Deswegen mappst Du die Laufwerke über SMB in das Filesystem des Rechners, wo das Java-Programm laufen soll. Das kann man machen. Es gibt unter Unix zwar keine Laufwersbuchstaben (z.B. T: ), aber vielleicht gibt es die Möglichkeit, einen Netzwerkordner unter Windows ähnlich wie unter Unix einfach irgendwo in den Verzeichnisbaum zu mounten? Eine (etwas längere) Google-Recherche führte folgenden Link zutage: Mapping drive letters to local folders in Windows XP | TechRepublic
Damit kannst du unter Windows und unter Unix einen gleichnamigen Verzeichnisbaum aufbauen und das Problem andersrum umschiffen.
 

Samarek

Aktives Mitglied
Nein, das Problem ist dass ich mit den File-APIs bestens vertraut bin, allerdings von den Netzwerk-APIs keine Ahnung habe.
Ausserdem mappe ich mir hier garnichts, ich arbeite mit einer bestehenden Infrastruktur an der ich auch nicht wirklich was ändern kann, von daher scheidet die Lösung mit dem Laufwerke mappen aus, aber ich verstehe die grundsätzliche Idee und wenn die Neustrukturierung der Infrastruktur hier eine Möglichkeit wäre würde ich es wohl wirklich so machen, hört sich soweit ganz gut an.

Mein Problem ist also eigentlich dass ich mit der File-API auf Dateien zugreife deren Netzwerk-Infos (auf welchem Host liegt die Datei) ich aber eigentlich brauche, die ich aber natürlich nciht über die File-API kriege.
Damit ist die aktuelle Frage "Wie erfahre ich die IP-Adresse (oder sonst ein einzigartiges Merkmal) eines Computers auf dem eine mir bekannte Datei liegt" ?
 
Zuletzt bearbeitet:

Lumaraf

Bekanntes Mitglied
Wenn du es hinbekommen kannst immer UNC-Pfade zu speichern statt Pfade auf Netzlaufwerke sollte JCIFS dir dabei helfen von allen Systemen auf die Dateien zugreifen zu können.
 

Samarek

Aktives Mitglied
Uuuhu ...
da kommen wir der Sache ja jetzt langsam näher
UNC-Pfade you say, ... interesting

Hab damit gerade auch schon ein wenig experimentiert, sieht sehr vielversprechend aus
hab hier diesen Thread gefunden
http://www.java-forum.org/allgemeine-java-themen/24317-windows-pfad-unc-pfad-wandeln.html

und da gibts nen kleinen Beispielcode wie ich von einer Datei im Netzwerk den UNC-Pfad herauskriege.

verbleibende Probleme, derer ich mich jetzt annehmen werde
- die IP bekomme ich mit net raus, das ist natürlich ein Windows Programm, ich muss mal herausfinden was die Mac bzw. UNIX Äquivalente sind
- das funktioniert nur für Netzwerk-Dateien, nicht für Dateien die lokal liegen

Werde mich da jetzt an die Recherche machen und hier immer mal wieder posten wenn ich mehr weiss, würde mich aber sicher auch freuen wenn jemand anders der da jetzt schon mehr weiss das hier posten kann ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Bilder übergeben Netzwerkprogrammierung 16
S Socket Bilder über Socket Senden Netzwerkprogrammierung 0
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
B SocketChannel ByteBuffer Bilder verschicken Netzwerkprogrammierung 17
M Socket Bilder senden Netzwerkprogrammierung 1
R Webservice und Bilder Netzwerkprogrammierung 29
TheJavaKid Bilder mit nem ObjectStream übertragen Netzwerkprogrammierung 8
F Bilder aus Internet downloaden Netzwerkprogrammierung 12
S Socket Bilder übertragen Netzwerkprogrammierung 7
M Socket Bilder über das Netzwerk übertragen Netzwerkprogrammierung 4
G Frage zu Servlets und deren Objekte + Bilder in Servlets anzeigen? Netzwerkprogrammierung 11
Benji0815 Bilder oder PDF downloaden Netzwerkprogrammierung 11
H Bilder mit HttpClient hochladen Netzwerkprogrammierung 3
A html - E-mail - Bilder Netzwerkprogrammierung 4
A [URLConnection] Bilder hochladen - aber anders! Netzwerkprogrammierung 4
Lazybone Bilder über Socket Netzwerkprogrammierung 4
P Bilder: FTP-Upload funktioniert nicht richtig Netzwerkprogrammierung 2
W Wifi verbinden durch SharensPreferens Android Studio Netzwerkprogrammierung 0
JavaWolf165 Mini-Datenbank durch Link Netzwerkprogrammierung 6
gamebreiti Socket Server / Client Anwendung Manipulation von Objekten durch Server Netzwerkprogrammierung 9
E Eingabe (auf Internetseite) durch ein Programm machen lassen Netzwerkprogrammierung 19
C I/O - Synchronisation durch Threads in einem ChatClient Netzwerkprogrammierung 4
Dit_ UDP Verbindung durch Proxy Netzwerkprogrammierung 4
Ollek Download einer Datei durch SFTP mit Java Netzwerkprogrammierung 12
B Server-Programm wird durch "read" beendet Netzwerkprogrammierung 8
Kr0e Ggf. Performanceproblem durch Senden von vielen kleinen Buffern Netzwerkprogrammierung 17
S RMI RMI Aufrufe kommen nicht mehr durch Netzwerkprogrammierung 4
H String Array durch einen Stream schicken. Netzwerkprogrammierung 4
V Mehrere Streams durch einen Stream senden Netzwerkprogrammierung 14
I ActiveMQ-Messages übers Netzwerk Netzwerkprogrammierung 13
M Socket Netzwerk Übertragung zwischen 4 Clients Netzwerkprogrammierung 2
temi (Netzwerk-) Kommunikation zwischen Anwendungen. Wie? Netzwerkprogrammierung 5
W Das Netzwerk entfernen mit Wifi Manager Netzwerkprogrammierung 1
F Neuronales Netzwerk - Genetischer Algorithmus Netzwerkprogrammierung 0
windl Sporadische Aussetzer im Netzwerk Netzwerkprogrammierung 10
T Broadcast-message über spez. Netzwerk-Schnittstelle Netzwerkprogrammierung 1
MaxG. Netzwerk Ping falsches ergebnis Netzwerkprogrammierung 7
T Netzwerk Login Felder ansprechen Netzwerkprogrammierung 1
B Netzwerk - Fernsteuerung Netzwerkprogrammierung 1
S Netzwerk-Framework gesucht Netzwerkprogrammierung 6
J Hilfe beim programmiern einer App zur Anmeldung im Wlan-Netzwerk Netzwerkprogrammierung 0
C Netzwerk Portzuweisungsproblem Netzwerkprogrammierung 0
I PingPong Spiel übers Netzwerk Netzwerkprogrammierung 1
M Verbindung zwischen zwei Pc in dem Selben Netzwerk Netzwerkprogrammierung 8
M PongSpiel Netzwerk Netzwerkprogrammierung 1
D Geräte im Lokalen netzwerk auflisten Netzwerkprogrammierung 1
fLooojava Daten an ein Arduino im selben Netzwerk senden Netzwerkprogrammierung 1
I Netzwerk FileShare Program Netzwerkprogrammierung 2
K ByteArray über Netzwerk senden klappt nicht Netzwerkprogrammierung 5
D Ermitteln ob WLAN-Netzwerk UDP unterstützt Netzwerkprogrammierung 1
O 4Gewinnt Multiplayer - Netzwerk Problem (TCP) Netzwerkprogrammierung 1
B WebSocket Verbindungsaufbau aus localen Netzwerk Netzwerkprogrammierung 2
Kr0e Dezentrales Soziales Netzwerk Netzwerkprogrammierung 48
G Klassen über Netzwerk kommunizieren lassen Netzwerkprogrammierung 6
vandread Zugriff auf Soziales Netzwerk mittels Java? Netzwerkprogrammierung 4
P Automatische Host suche im Netzwerk Netzwerkprogrammierung 3
D Socket Class über Netzwerk verschicken Netzwerkprogrammierung 2
S Netzwerk Verbindungsproblem mit Cajo Netzwerkprogrammierung 5
c_sidi90 ideale Lösung, Screen Capture über Netzwerk Netzwerkprogrammierung 3
J Komplexes Netzwerk-Spiel im Internet Netzwerkprogrammierung 13
J ObjectInputStream im Netzwerk Netzwerkprogrammierung 8
T ArrayList über Netzwerk senden! Netzwerkprogrammierung 5
A java im netzwerk anderen rechner runterfahren Netzwerkprogrammierung 3
U Datei über das Netzwerk einlesen und speichern Netzwerkprogrammierung 8
M Netzwerk Programmierung Netzwerkprogrammierung 2
F Netzwerk-Designkonzept Netzwerkprogrammierung 2
D Ring-Netzwerk - wie fange ich an? Netzwerkprogrammierung 3
X Password übers Netzwerk schicken jPasswordField Netzwerkprogrammierung 2
c_sidi90 Alle Rechner im Netzwerk ermitteln Netzwerkprogrammierung 17
D Netzwerk-To-Do-Liste Netzwerkprogrammierung 5
Semox Socket Selbstgeschriebenen Webserver im lokalen Netzwerk publizieren? Netzwerkprogrammierung 4
S Socket nach anderen clients im netzwerk suchen Netzwerkprogrammierung 3
T Netzwerk-Dateiübertragung optimieren Netzwerkprogrammierung 15
G Netzwerk Speed checken Netzwerkprogrammierung 3
L Socket Socketverbindung nur im lokalen Netzwerk Netzwerkprogrammierung 12
F Char über Netzwerk senden Netzwerkprogrammierung 6
P SocketServer im lokalen netzwerk suchen Netzwerkprogrammierung 2
I Objekte über das Netzwerk Netzwerkprogrammierung 5
B RMI RMI, Callback und Netzwerk Netzwerkprogrammierung 6
agent47 IP Adressen im Lokalen Netzwerk Scannen Netzwerkprogrammierung 7
S Netzwerk und Objekte Netzwerkprogrammierung 5
G Netzwerk IP Frage Netzwerkprogrammierung 4
Akrillo Datei per Netzwerk senden Netzwerkprogrammierung 10
W funktionen übers netzwerk nutzen Netzwerkprogrammierung 4
Kr0e Versenden von Daten übers Netzwerk Netzwerkprogrammierung 30
M upnp Device-Discovery im Netzwerk Netzwerkprogrammierung 5
T Administration von Software auf Clients im Netzwerk Netzwerkprogrammierung 6
H MySQL übers Netzwerk Netzwerkprogrammierung 9
A Probleme mit kleinem Netzwerk Programm Netzwerkprogrammierung 30
T Pfadangabe beim kopieren übers Netzwerk Netzwerkprogrammierung 5
G Verschlüsselte Strings über Netzwerk verschicken Netzwerkprogrammierung 19
D robustes Netzwerk Netzwerkprogrammierung 2
N HTML-Übertragung im lokalen Netzwerk mit Java - wie? Netzwerkprogrammierung 6
G Datei performant im Netzwerk verschieben Netzwerkprogrammierung 4
D BufferedImage über das Netzwerk senden Netzwerkprogrammierung 2
E Netzwerk Fehlererkennung Netzwerkprogrammierung 11
M Pc's im Netzwerk auflisten Netzwerkprogrammierung 2
T Welches Netzwerk ist am bestern für. Netzwerkprogrammierung 2
ModellbahnerTT Problem feste String ins Netzwerk zu geben Netzwerkprogrammierung 5
A IRC-Server für das lokale Netzwerk? Netzwerkprogrammierung 12

Ähnliche Java Themen

Neue Themen


Oben