2011-11-11 43 views
5

Tôi cố gắng để ghi vào một tệp trong Google AppEngine nhưng nó đưa ra một thông báo lỗi java.io.FileOutputStream is not supported by Google App Engine's Java runtime environmentGoogle AppEngine không hỗ trợ FileOutputStream

mặc dù tôi nhập khẩu

import java.io.File; 
import java.io.FileInputStream; 

import java.io.FileOutputStream; 
import java.io.IOException; 

Trả lời

10

Vâng nó không phải là một lỗi biên dịch java. Lớp này là một API bị hạn chế trong Google App Engine, bạn không được phép sử dụng nó.

đọc về GAE Java Runtime Environment và hạn chế ở đây: http://code.google.com/appengine/docs/java/runtime.html

Gần nhất bạn sẽ nhận được nộp lưu trữ trên GAE là API Blobstore: http://code.google.com/appengine/docs/java/blobstore/

Nếu bạn cần để tạo ra các file trong mã GAE là không phải là nền tảng thích hợp cho bạn.

+0

cảm ơn Strelok, có thể tải tệp lên máy chủ ftp khác bằng các thành phần gwt hoặc gxt trong giao diện người dùng không ?? –

+1

Không, bạn không thể mở bất kỳ kết nối ổ cắm nào ngoại trừ bằng cách sử dụng dịch vụ Tìm nạp URL trên HTTP/HTTPS đến các dải cổng sau: 80-90, 440-450, 1024-65535. – Strelok

+0

Tôi không chắc chắn các yêu cầu của bạn là gì nhưng đây là cách bạn viết thư cho cửa hàng blob http://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstore – Strelok

3

Bạn đã thử sử java.io.ByteArrayOutputStream hơn là FileOutputStream?

này sẽ cho phép bạn sử dụng các thư viện bên ngoài của bạn đòi hỏi phải có các file nhưng vẫn làm việc trong danh sách trắng GAE JRE

+0

bất kỳ cách nào cảm ơn bạn sir, tôi giải quyết vấn đề này bằng cách thay đổi máy chủ. :( –

0

nền tảng GAE cho phép chỉ đọc truy cập vào hệ thống tập tin trong hồ sơ phạm vi pf. Nếu tất cả bạn phải viết một cái gì đó, Datastore và Blobstore là nơi để viết thư cho!

+0

bất kỳ cách nào cảm ơn bạn sir, tôi giải quyết vấn đề này bằng cách thay đổi máy chủ. :( –

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