2014-09-09 12 views
6

Supponiamo che l'utilizzo di java.io sia stato bloccato. Quali sono alcuni modi alternativi di scrivere, ad esempio un semplice file di testo "Hello World!" su disco, utilizzando le funzionalità del linguaggio Java/Groovy?Scrittura su disco senza utilizzare java.io

+0

Puoi eludicate cosa "java.io è stato bloccato" significa? Come è stato bloccato? 'SecurityManager'? Usando cosa 'Permission's? – icza

+0

@icza Attraverso l'uso di Groovy's SecureASTCustomizer, bloccando tutte le importazioni java.io. – kinbiko

+0

Puoi confermare se 'java.nio.Files' è permesso? – icza

risposta

4

Se solo java.io è stato bloccato (le importazioni java.io sono bloccate), è possibile utilizzare lo java.nio per scrivere sui file.

Guarda la classe centrale Files. In java.nio i file/le cartelle sono rappresentati con gli oggetti java.nio.Path che fa anche parte del pacchetto java.nio (e non java.io).

Esempio scrittura "Hello World!" in un file di testo sul disco:

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

No. Java nio utilizza internamente java.io. – BackSlash

+0

La domanda è come 'java.io' è stato bloccato. L'intervistatore ha detto che le importazioni di java.io sono bloccate, nel qual caso ciò funzionerebbe. – icza

+1

Non funzionerà, perché java NIO utilizza java.io. Se java.io è bloccato, java NIO non può funzionare. – BackSlash

3

JNI per comunicare direttamente con l'API del sistema operativo sottostante.

+1

No. Il caricamento JNI internamente utilizza java.io. – BackSlash