2014-09-09 12 views
6

Załóżmy, że użycie java.io zostało zablokowane. Jakie są alternatywne sposoby pisania, powiedzmy prosty plik tekstowy na dysk, używając funkcji językowych Java/Groovy?Zapisywanie na dysku bez użycia java.io

+0

można eludicate co „java.io został zablokowany” oznacza? Jak to zostało zablokowane? 'SecurityManager'? Korzystając z "uprawnień"? – icza

+0

@icza Poprzez użycie SecureASTCustomizer Groovy, blokowanie wszystkich importów java.io. – kinbiko

+0

Czy możesz potwierdzić, czy 'java.nio.Files' jest dozwolone? – icza

Odpowiedz

4

Jeśli tylko java.io został zablokowany (powiedziałeś, że importowane są java.io), możesz użyć java.nio do zapisu w plikach.

Spójrz na centralną klasę Files. W plikach/folderach java.nio są reprezentowane obiekty java.nio.Path, które są również częścią pakietu java.nio (a nie java.io).

Przykład pisania "Hello World!" w pliku tekstowym na dysku:

Files.write(Paths.get("/your/folder/text.txt"), 
    "Hello World!".getBytes(StandardCharsets.UTF_8)); 

// Or 
Files.write(Paths.get("/your/folder/text.txt"), 
    Arrays.asList("Hello World!"), StandardCharsets.UTF_8); 
+1

Nie. Java nio wewnętrznie używa java.io. – BackSlash

+0

Pytanie brzmi, w jaki sposób 'java.io' został zablokowany. Pytający powiedział, że import "java.io" jest zablokowany, w takim przypadku to by działało. – icza

+1

To nie zadziała, ponieważ java NIO używa java.io. Jeśli blokada java.io jest zablokowana, java NIO nie może działać. – BackSlash

3

JNI, aby porozmawiać bezpośrednio z bazowym interfejsem API systemu operacyjnego.

+1

Nie. Ładowanie JNI wewnętrznie używa java.io. – BackSlash

Powiązane problemy