سؤال

أنا أعمل في تحويل تطبيق بسيط جدا ل Java Desktop إلى تشغيل Java Web Start، وأوزي بجميع أنواع المشاكل مع ملفات الإدخال / الإخراج. على وجه التحديد، لا يمكنني العثور على أي معلومات حول كيفية التعامل مع I / O في تطبيق بدء تشغيل الويب. حاولت وضع ملفات الإدخال في نفس المجلد على خادم الويب الخاص بي كملف JAR و JNLP، لكنه لا يقرأه.

لدي ملف إدخال واحد أريد الاحتفاظ به على خادم الويب وقراءته في التطبيق من هناك.

لدي ملف ثان أريد أن ينشئ التطبيق على جهاز العميل في المرة الأولى التي يتم تشغيلها، وقراءة من هناك في كل مرة بعد ذلك.

إذا كان أي شخص يعرف ما الاعتبارات التي أحتاجها لأخذها من أجل I / O في Web Start أو يمكن أن توجيهني نحو مورد يفسر ذلك سأقدر ذلك.

هل كانت مفيدة؟

المحلول

يمكنك معرفة المكان الذي قمت بتنزيله من BasicService ثم استخدم HTTP لنقل الملف. يمكنك أيضا إضافتها إلى جرة.

يمكنك تخزين كمية محدودة من المعلومات (أعتقد أنها تقيم حاليا إلى 128k / muffin) PeristenceService.

http://java.sun.com/javase/6/docs/jre/api/javaws/jnlp/

نصائح أخرى

ليس لديك العديد من الخيارات.

  • يمكنك قراءة الملف من HTTP عنوان URL جديد (عنوان) .openstream ()
  • يمكنك تضمين الملف في الجرة التي أعتقد أنك لا تريد ذلك، ثم استخدمها getresourceasstream ()

يمكنك عادة تخزين الملفات على القرص الصلب المستخدم باستخدام مجلد مخفي

public final class ApplicationConstants{
  final static String HOMEDIR_STRING = System.getProperty("user.home");
  final static File HOMEDIR = new File(HOMEDIR_STRING);
  final static File CONFIG_DIR = new File(HOMEDIR, ".com.mycompany.myapp");
}
///
if(!ApplicationConstants.CONFIG_DIR.exists()) ApplicationConstants.CONFIG_DIR.mkdirs();

File outputFile = new File(ApplicationConstants.CONFIG_DIR, "my.xx"));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top