2014-09-09 31 views
6

Giả sử việc sử dụng java.io đã bị chặn. Một số cách viết khác là gì, giả sử một tệp văn bản "Hello World!" đơn giản vào đĩa, sử dụng các tính năng ngôn ngữ Java/Groovy?Ghi vào đĩa mà không cần sử dụng java.io

+0

Bạn có thể eludicate gì "java.io đã bị chặn" có nghĩa là? Nó bị chặn như thế nào? 'SecurityManager'? Sử dụng cái gì 'Quyền hạn? – icza

+0

@icza Thông qua việc sử dụng SecureASTCustomizer của Groovy, chặn tất cả nhập java.io. – kinbiko

+0

Bạn có thể xác nhận nếu 'java.nio.Files' được cho phép không? – icza

Trả lời

4

Nếu chỉ java.io bị chặn (bạn cho biết java.io nhập bị chặn), bạn có thể sử dụng java.nio để ghi vào tệp.

Nhìn vào lớp trung tâm Files. Trong các tệp java.nio/thư mục được thể hiện bằng các đối tượng java.nio.Path cũng là một phần của gói java.nio (và không phải là java.io).

Ví dụ viết "Hello World!" vào một tập tin văn bản vào đĩa:

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

Không. Java nio sử dụng nội bộ java.io. – BackSlash

+0

Câu hỏi đặt ra là cách 'java.io' bị chặn. Người hỏi cho biết nhập khẩu 'java.io' bị chặn trong trường hợp này sẽ hoạt động. – icza

+1

Nó sẽ không hoạt động, bởi vì java NIO sử dụng java.io. Nếu java.io bị chặn, java NIO không thể hoạt động. – BackSlash

3

JNI để nói chuyện trực tiếp với API hệ điều hành cơ bản.

+1

Không. JNI tải nội bộ sử dụng java.io. – BackSlash

Các vấn đề liên quan