2017-02-18 2 views
3

Есть несколько примеров в Java о том, как сохранить значение в файле свойств - например:Codename Один и Java сохранить/значение свойства обновления в файле

How to write values in a properties file through java code

https://www.mkyong.com/java/java-properties-file-examples/

Вы будете обратите внимание, что все они используют код «import java.io.FileOutputStream», однако, когда я пытаюсь использовать тот же код, я получаю эту ошибку ....

error: cannot find symbol 
import java.io.FileOutputStream; 
symbol: class FileOutputStream 
location: package java.io 

Я считаю, что это стандартная библиотека Java и должна быть доступна? Что я делаю не так?

Благодаря

+2

Вы добавили JRE в свой путь к классу? Похоже, класс не может найти класс FileOutputStream – Maverick

+0

Спасибо за совет - но разве это не произойдет для каждого импорта? Почему именно это? –

+1

Это просто предположение, потому что программа не работает при импорте класса. Если вы можете вставить свою программу, было бы легче проанализировать. – Maverick

ответ

2

Codename One не поддерживает полный Java API (Стандартные библиотеки), и вот почему ... .

Если вам нужен объект Properties, ознакомьтесь с ним in this blog.

В Codename One есть другой файл свойств, который используется для руководства процессом создания вашего приложения, и вы можете добавить некоторые данные, которые поддерживает Codename One, щелкнув правой кнопкой мыши ваш проект, выбрав «Перейти к свойствам», перейдите на вкладку «Скрыть подсказку» и введите пара ключ-значение.

+0

Спасибо за это. Я просмотрел это место в документации https://www.codenameone.com/javadoc/com/codename1/io/Properties.html#setProperty-java.lang.String-java.lang.String- И это говорит о том, что функция setProperty() может обновить значение. Однако, когда я его использую, значение не изменяется. Вот мой код ... переключатель (evt.getCommand() ToString().) { случай "SaveValue": попытка { valueProperties.setProperty ("current_Value", txtValue.getText()); txtValue.setEditable (false); } –

+0

Ahhh Я только что понял, что функция setProperty() изменяет только текущее значение свойства - оно фактически не сохраняет его обратно в файл. Мне нужно выяснить, как это сделать. Ок, хорошо, мы сейчас где-то добираемся :-) –

+0

Это то же поведение, что и JavaSE, вы можете использовать свойство Properties.store() для сохранения файла. Тем не менее, у Codename One есть лучший подход, более простой, чем JavaSE, для хранения простой переменной: 'Preferences'. Используйте 'String val = Preferences.get (" MyVariableName ", defaultValue);' и 'Preferences.set (" MyVariableName ", actualValue);' –

Смежные вопросы