'dan bağımsız olarak yolun mutlak olup olmadığını öğrenmek için Java'da, verilen yolun mutlak olup olmadığını veya programın çalışmakta olduğu platforma bakılmaksızın herhangi bir yol bulmak için var mı? Aşağıdaki örnekte olduğu gibi Yani, istediğim muhtemelen bir şey: Linux'taJava: OS
: Windows'ta
new File("/home/").isAbsolute() // Should return true.
new File("C:/My Documents").isAbsolute() // Should *also* return true.
:
new File("C:/Documents").isAbsolute() // Should return true.
new File("/home/").isAbsolute() // Should *also* return true.
muhtemelen kod şey bu çevrede olsun ama yapmak olabilir Sadece bu sorunu çözmek için Java'da sağlanan yerleşik bir sınıfı bilip bilmediğini öğrenmek istedim. Ya da bu problemi kimseye mi geldi? Ve bunu nasıl çözdün?
Teşekkürler!
, "c:/belgelerim" gibi bir yol muhtemelen geçersiz olduğunu ve kesinlikle mutlak değildir. Posix standardını uygulayan sistemlerde, tüm yollar tek bir "root" un altında bulunur ve bu nedenle mutlak bir yol bu kökte başlar. Böylece mutlak bir yol daima "/" ile başlar. Sürecin mevcut çalışma dizinine göre herhangi bir şey alınır. Linux üzerinde, "C:/...", geçerli çalışma dizini içindeki "C:" olarak adlandırılan ve büyük ihtimalle anlamsız olan dizini ifade eder. – SingleNegationElimination
Sorunuz çok az anlam ifade ediyor. Tüm yolların mutlak olduğu varsayımsal bir işletim sistemi düşünün. Bu işletim sisteminde java olduğunu varsayalım. Bu nedenle, gereksiniminizi karşılamak için, programın çalışmakta olduğu platform ne olursa olsun, her zaman doğru olarak döndüren bir isFileAbsolute() yöntemine gereksiniminiz vardır. Uygulaması kolay, ama anlamsız. –
Kullanıcının uzak bilgisayarda çalışan bir dizini yapılandırdığı bir durum var. Uzak bilgisayar Unix veya Windows çalıştırabilir (en yaygın senaryo yerel makine penceredir ve uzak makinenin unixidir). Kullanıcı tarafından belirlenen yolun doğrulanması gerekir ve bir yolun mutlak olup olmadığını belirlemek için gereklidir. –