Jestem nowy w Javie. Gdzie umask jest widoczny w api?Jak ustawić umask z poziomu java?
Odpowiedz
Nie można się bawić bezpośrednio umaską, ponieważ Java jest abstrakcją, a umask jest specyficzną implementacją POSIX. Ale masz następujące API:
File f;
f.setExecutable(true);
f.setReadable(false);
f.setWritable(true);
Dostępnych jest kilka interfejsów API, check the docs.
Jeśli musi mają bezpośredni dostęp do umask, albo zrobić to za pośrednictwem JNI i chmod()
syscall lub tarło nowy proces z exec("chmod")
.
java.nio.file.attribute.PosixFileAttributes
w Java SE 7.
Nie znalazłem tam żadnych funkcji do ustawienia umask, tylko uprawnienia do plików. – Nakedible
@Nowedible Tak. –
Innym podejściem jest użycie biblioteki Java 3rd firmy, który odsłania wywołań systemowych POSIX; na przykład
- Jtux
- Biblioteka "Posix for Java",
- i tak dalej (Google dla "java posix biblioteki").
Problem z tym podejściem polega na tym, że jest on z natury nieprzenośny (nie będzie działać na platformie niezgodnej z POSIX) i wymaga biblioteki natywnej specyficznej dla platformy ... i wszystkiego, co się z nią wiąże.
- 1. Ustawić umask na koncie sftp?
- 2. 'git clone' respects umask, z wyjątkiem katalogu projektu najwyższego poziomu
- 3. Jak ustawić umask dla php5-fpm na Debianie?
- 4. R z poziomu Java
- 5. Kompilowanie zewnętrznych plików .java z poziomu Java
- 6. Czy mogę ustawić umask dla tempfile.NamedTemporaryFile w python?
- 7. Dlaczego używałbyś umask?
- 8. Jak ustawić głównego przyjaciela mojej klasy z poziomu biblioteki?
- 9. Skanowanie sprzętowe skanowania obrazów z poziomu Java
- 10. Otwieranie dowolnego pliku z poziomu programu java
- 11. Dostęp do Gmaila z poziomu Java
- 12. Jak włączać i wyłączać monitor z poziomu aplikacji Java?
- 13. Jak znaleźć i zabić uruchamianie Win-Processes z poziomu Java?
- 14. Jak uzyskać procent wykorzystania procesora systemu operacyjnego z poziomu java
- 15. Jak ustawić typową metodę Java?
- 16. Eclipse - Czy można połączyć z plikiem z poziomu komentarza Java?
- 17. Jak ustawić nieprzejrzysty obraz wysokiego poziomu 1px dla paska UINavigationBar?
- 18. php umask (0) jaki jest cel
- 19. JAVA element.getElementsByTagName Ogranicz do górnego poziomu
- 20. Jaki jest najlepszy sposób zarządzania procesem uniksowym z poziomu java?
- 21. VLC ginie, gdy zostanie wywołana z poziomu Java
- 22. Java spring framework - jak ustawić typ zawartości?
- 23. Zdobądź domenę drugiego poziomu adresu URL (java)
- 24. Jak ustawić kolejność kart w Swing Java?
- 25. Jak ustawić strefę czasową z wiersza poleceń?
- 26. Jak ustawić nazwę procesu dla programu Java?
- 27. Jak ustawić niestandardową walutę w java?
- 28. Jak ustawić niezmienną klasę Java w Clojure?
- 29. Ant: jak przekazać wartości do właściwości z poziomu najwyższego poziomu build.xml do build.xml w podfolderach
- 30. Jak otworzyć plik z poziomu Vima?
Hm interesujące, dzięki. Sądzę, że mogę użyć JNI do wywołania umask (2), a następnie? – eeee
@ Tak, ale musisz wdrożyć swój moduł JNI na wszystkich platformach, które chcesz obsłużyć, ponieważ jest to zależne od platformy niemalże z definicji. – extraneon
@extraneon tak, oczywiście. Szczerze mówiąc, jestem bardzo zaskoczony, że nikt nie zrobił modułu dla Javy odsłaniającego wszystkie interfejsy posix. To znaczy, nie może być dobrze - prawda? Jak ludzie wykonują czynności systemowe w java bez tego typu rzeczy? – eeee