Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как записывать в файл внутри jar


Java « Java. Запись в jar.

jar - обыкновенный архив со всеми вытекающими. Ничего смертельного от лишнего в нем файла не будет.


package org.mypackage;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;

public class Main {

  public static final String fileName = "test.txt";

  public static void main(String[] args) {
    try {
      // Чтение
      ZipFile zf = new ZipFile("fileFromJar.jar");
      ZipEntry entry = zf.getEntry(fileName);
      InputStream is = zf.getInputStream(entry);
      int b;
      while ((b = is.read()) != -1) {
        System.out.print((char) b);
      }
      is.close();
      zf.close();

      // Запись
      FileOutputStream fout = new FileOutputStream("fileFromJar.jar");
      ZipOutputStream zout = new ZipOutputStream(fout);
      ZipEntry ze = new ZipEntry("fileName2.txt");
      zout.putNextEntry(ze);
      zout.write("Мы сделали это!".getBytes());            
      zout.closeEntry();
      zout.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

 

Чтение/Запись в свойствах Файлы внутри файла jar - java

Итак, я возвращаюсь к написанию Java через 4 года, поэтому, пожалуйста, простите любые ошибки "новобранец".

Мне нужно иметь файл свойств, где я могу хранить некоторые простые данные для своего приложения. Сами данные приложения не будут находиться здесь, но я буду хранить информацию, такую ​​как путь к последнему используемому хранилищу данных, другие настройки и т.д.

Мне удалось подключиться к файлу свойств, который существует внутри того же пакета, что и файл класса, пытающийся подключиться к нему, и я могу прочитать файл, но у меня возникли проблемы с записью в файл. Я уверен, что мой код работает (по крайней мере, он не бросает никаких ошибок), но это изменение не отражается в самом файле после запуска приложения в Netbeans.

enter image description here

В приведенном выше изображении вы можете увидеть файл mainProperties.properties и класс, пытающийся выз

Как приложение может использовать файлы внутри JAR для чтения и записи?

Решение

Мне нужно хранить данные в файлы внутри .jar файла и читать его снова

Нет, ты не

Вместо этого сохраните файл «по умолчанию» внутри Jar. Если он изменен, сохраните измененный файл в другом месте. Одно общее место - это подкаталог user.home. При проверке файла сначала проверьте наличие измененного файла в файловой системе, и, если он не существует, загрузите файл по умолчанию.


Обратите внимание, что обычно лучше описать цель, чем стратегию. «Хранить измененный файл в Jar» - это стратегия, в то время как «Сохранить настройки между прогонами» может быть целью.

Связанный: В чем проблема XY?

Автор: Andrew Thompson Размещён: 19.02.2011 05:32

Как записать в файл XML внутри файла jar?



Привет Java программисты. Мне очень нужна ваша помощь.

У меня есть приложение JavaFX/Java ME. Я пытаюсь изменить файл XML в папке моего проекта (скоро будет упакован файл jar) .

Путь к файлу, который я хочу записать: /parseExample/service1.xml

К сожалению, мое приложение является JavaFx/JavaME, поэтому оно не содержит библиотеку java.util.jar . Поэтому я не могу использовать классы jar.

Есть ли другие способы сделать это?

jar javafx java-me
Поделиться Источник cancelledout     17 июня 2010 в 02:00

1 ответ




2

Даже в J2SE вы должны рассматривать файл Jar как доступный только для чтения. В J2SE единственный способ сделать это-либо использовать внешние инструменты, либо воссоздать новый файл Jar и перезаписать старый файл новым.

Моя рекомендация-найти место хранения, как указано ниже, и использовать ваш файл XML по умолчанию, если вам нужно изменить только положить новый в место хранения.

Ваши параметры хранения данных следующие:

В соответствии с http://developer.android.com/guide/topics/data/data-storage.html это возможные места хранения, которые у вас есть в наличии:
Общие предпочтения-хранить личные примитивные данные в парах ключ-значение.
Внутреннее хранилище-хранение личных данных в памяти устройства.
Внешнее хранилище-хранение общедоступных данных на общем внешнем хранилище.
SQLite базы данных-хранят структурированные данные в частной базе данных.
Сетевое подключение-хранение данных в сети с помощью собственного сетевого сервера.

Поделиться Romain Hippeau     17 июня 2010 в 02:07


Похожие вопросы:


Файл свойств (пользовательские настройки) внутри файла jar

У меня есть приложение Swing, которое я хочу упаковать в файл jar. У меня также есть файл свойств, в котором я храню свойства набора пользователей. Могу ли я сохранить этот файл внутри файла jar и...


как сослаться на xsd schemalocation внутри файла jar?

У меня есть файл схемы xml (xsd), который находится внутри файла jar, который будет включен в путь к классу среды выполнения. В моем Wsdl мне нужно импортировать схему, указав расположение внутри...


Как мы можем отладить файл, который находится внутри файла Jar

У меня есть существующее приложение , в котором присутствует часть кода внутри файла JAr . Пожалуйста, скажите мне, как мы можем отладить файл, который находится внутри файла Jar ?? Я использовал JD...


Прочитайте файл, находящийся внутри jar вызывается из другого jar файла

У меня есть два файла jar (скажем, jar1 и jar2). Внутри jar2 есть один файл xml. Я хочу прочитать файл xml. я использовал public void readXmlFile(){ InputStream resourceAsStream =...


Как записать разобранный файл XML в другой файл в Java

Я разбираю файл XML, который является 1.2 GB , используя SAX Parser в Java. Результат не был завершен в Console году . То, что я пытаюсь сделать, - это записать разобранный файл XML в другой файл....


Можно ли записать в настройки XML, хранящиеся в пределах JAR во время выполнения?

У меня есть большое количество пользовательских настроек, которые я хочу сохранить в файле XML. Если это возможно, я хотел бы сохранить этот файл XML в самом JAR, но до сих пор я не нашел ничего,...


как записать в текстовый файл за пределами netbeans

Я почти уверен, что кто-то уже спрашивал об этом, но я не могу найти его. Как я могу записать текстовый файл так, чтобы при сборке проекта из netbeans он все еще мог записывать файл, когда он...


Может или должен файл blueprint xml находиться внутри файла Karaf KAR?

В Карафе .файл kar, если файл blueprint xml находится внутри jar, содержащегося в файле kar OR, если он находится внутри самого файла kar. Кроме того, может ли чертеж xml быть внутри Карафа .файл...


Как обновить файл jar внутри файла ear

Чтобы обновить файл jar, добавив один класс, я могу использовать его: jar -русская баня Но мне нужно обновить файл jar внутри файла ear, я попробовал команду ниже, но она не сработала: jar...


Запустите файл jar в cmd, скомпилированный внутри файла jar

У меня есть файл jar, который компилируется внутри моей программы java, и он работает без каких-либо ошибок, когда моя программа java не компилируется как исполняемый файл jar. Теперь, когда я...

javafx - Как записать в файл XML внутри файла jar?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Свяжитесь с разработчиками и технологами по всему миру
  6. О компании

Загрузка…

.

java - Как вывести список файлов внутри файла JAR?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

java - Как прочитать файл свойств внутри jar?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

Как я могу заставить мой скрипт python (версия 2.5) запускать файл jar внутри папки, а не из командной строки?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
.

Смотрите также