Festplatten-Bestimmung

LukLuk

Aktives Mitglied
Heho zusammen,
ich wollte mal fragen ob es eine Methode gibt die mir einen String zurückgibt in dem steht, wie die Partition der Festplatte heißt wo das Betriebssystem drauf läuft.
 
N

nillehammer

Gast
Nein, gibt es nicht. Eine Partition, "wo das Betriebssystem drauf läuft" gibt es nur unter Windows (meist C:). Unter Unix gibt es dieses Konzept überhaupt nicht. Damit ist es was Plattformspezifisches und deswegen von Java nicht direkt unterstützt. Was dem am nächsten kommt wäre das hier:
Java:
FileSystems.getDefault().getRootDirectories();
Damit kommst du unter Windows an die Laufwerksbuchstaben heran. Unter diesen könntest Du nach wohl bekannten Windows-Installationsverzeichnissen suchen.
 
N

nillehammer

Gast
Ich noch mal. Ich hab mir grad in der DOS-Box mittels
Code:
set
mal alle Umgebungsvariablen anzeigen lassen (PATH etc.) Da bin ich auf einige recht interessante gestoßen. U.a. die hier:
Code:
SystemDrive=C:
SystemRoot=C:\Windows
Von Java aus kommst du an die Dinger sogar ran. Und das wäre für Deinen Anwendungsfall vielleicht die elegantere Lösung:
Java:
Map<String,String> envVars = System.getEnv();
String systemDrive = envVars.get("SystemDrive");
Das nur als weitere Idee. Ich bin kein Windows-Experte und weiß nicht, ob es die Umgebungsvariable "SystemDrive" immmer und auf allen Windows-Versionen gibt. Aber zumindest macht es Sinn, sich die Umgebungsvariablen mal anzuschauen.
 
T

tröööt

Gast
macht trotzdem keinen sinn da nur windows sowas wie "laufwerke" kennt ...

unter unixoiden systemen gibt es genau einen root ... und das ist "/" ... und alles andere ist darin als "datei" (getreu dem motto : alles ist eine datei) zu finden ...
 
N

nillehammer

Gast
Ja, aber offensichtlich geht es hier geht es um eine Anwendung, die auf Windows laufen soll. Dann lass ihn das doch machen.
 
T

tröööt

Gast
also zumindest in NT sind %SYSTEMDRIVE% %SYSTEMROOT% %WINDIR% IMMER vorhanden ... und %WINDIR% gabs sogar in der 9x reihe ...
 

Bernd Hohmann

Top Contributor
Ich boote mal paar VMs durch...

Bei Windows 2000, Windows XP und Windows 7 sind immer

SystemDrive=X:\
SystemRoot=X:\pfad-zu-windows
windir=X:\pfad-zu-windows

gesetzt. Win8 hab ich nicht.

Lt Environment variable - Wikipedia, the free encyclopedia wäre "windir" ein geeigneter Kandidat, das gibts schon seit Windows 95

Wohlgemerkt: das gibt das Laufwerk, aber nicht die Partition (aber vermutlich meint der TO das Gleiche damit).

Bernd
 
T

tröööt

Gast
naja ... ein "laufwerk" ist ja auch nur eine "partitionsbezeichnung" und mit dem "mountpoint" unter unix zu vergleichen ...
 
N

nillehammer

Gast
Bernd Hohmann hat gesagt.:
Wohlgemerkt: das gibt das Laufwerk, aber nicht die Partition (aber vermutlich meint der TO das Gleiche damit).
Dann ham wir's doch. Hoffe LukLuk schaut hier überhaupt nochmal rein :)
 
T

tröööt

Gast
hehe ...
wenn man vom topic ausgeht gehts ja um das physische drive ... im text wird dann was von der partitions-bezeichnung gesagt .. und gemeint ist am ende sicher nur ein laufwerksbuchstabe ...

aua aua aua wie man sich missverstehen kann =D
 

Ähnliche Java Themen

Neue Themen


Oben