Я сделал простое приложение для списка с Java, это проект Maven. Он использует класс настроек для загрузки и записи материала в настройках файлов. Программа обычно загружает настройки по умолчанию при запуске, и если я изменю файлы. DarkTheme = false Он запустит и установит цвета по умолчанию на свет, если я также изменю свойство ширины, оно будет загружать номинальное применение с и высотой, которую есть в файле. Проблема заключается в том, что когда я пишу настройки в объект свойств и передаю его на настройки storage.writeproperties (текущие наборы), кажется, что он пишет его, потому что после того, как я перезагружает свойства, он печатает то же самое, что и я прошел метод, чтобы написать. Но когда я перезагружаю приложение, файл не изменился, и программа загружает существующие данные. Загрузите и напишите настройки, используя настройки, чтобы файл был одинаковым. Настройки sdialogPanel, а затем после перезапуска приложения загружает настройки, которые он хранится на диском. думал, что это не работает, потому что он находится в папке ресурсов внутри моего приложения Maven, но еще один файл задачи. Дат пишет и читает номиналали в одном и том же месте. < /p>
package org.app.settings;
import java.io.*;
import java.util.Properties;
public class SettingsStorage {
static final String SETTINGS_PATH = "settings.properties";
PanelWithSettings mp;
public SettingsStorage(PanelWithSettings mp) {
this.mp = mp;
}
public void loadSettings () {
try {
InputStream is = getClass().getClassLoader().getResourceAsStream(SETTINGS_PATH);
if (is==null) {
System.out.println("failed to access file, creating a new one!");
return;
}
Properties p = new Properties();
p.load(is);
mp.setSettings(p);
is.close();
} catch (FileNotFoundException e) {
System.out.println("error: settingsstorage::loadsettings: file "+
SETTINGS_PATH+" not found, creating new file...");
createFile();
} catch (IOException e) {
System.out.println("settingsstorage.loadsettings: something went wrong: "+e);
}
}
public static void writeSettings (Properties s) {
try {
FileOutputStream fos = new FileOutputStream(SETTINGS_PATH);
s.store(fos, "settings");
fos.close();
System.out.println("Given properties wrote successfully");
} catch (IOException e) {
System.out.println("settingsstorage::writesettings(Properties): something went wrong: "+e);
}
}
public void writeSettings () {
FileOutputStream fos;
try {
fos = new FileOutputStream(SETTINGS_PATH);
Properties p = mp.getSettings();
p.store(fos, "settings");
fos.close();
System.out.println("Panel's Properties wrote successfully");
} catch (FileNotFoundException e) {
System.out.println("settingsstorage::writesettings: file "+
SETTINGS_PATH+" not found, creating new file...");
createFile();
} catch (IOException e) {
System.out.println("settingsstorage::writesettings: something went wrong: "+e);
}
}
public static Properties loadPropertiesFromDisk () {
try {
FileInputStream fis = new FileInputStream(SETTINGS_PATH);
Properties p = new Properties();
p.load(fis);
fis.close();
return p;
} catch (FileNotFoundException e) {
System.out.println("error: settingsstorage::loadsettings: file "+
SETTINGS_PATH+" not found, creating new file...");
System.err.println("Cannot access "+SETTINGS_PATH.substring('.')+
" , FileNotFoundException (file not found)");
} catch (IOException e) {
System.out.println("settingsstorage.loadsettings: something went wrong: "+e);
}
return null; // failed
}
public void createFile () {
File f = new File(SETTINGS_PATH);
f.delete();
try {
f.createNewFile();
} catch (IOException e) {
System.out.println("settingsstorage::createfile: something went wrong: "+e);
}
}
public static void main (String[] args) {
Properties p = loadPropertiesFromDisk();
p.forEach((key, val) -> {
System.out.println(key+" => "+val);
});
System.out.println("Write settings");
p.clear();
p.put("darkTheme", "false");
p.put("width", "599");
p.put("height", "699");
writeSettings(p);
Properties properties = loadPropertiesFromDisk();
properties.forEach((key, val) -> {
System.out.println(key+" => "+val);
});
}
}
package org.app.settings;
import java.util.Properties;
public interface PanelWithSettings {
Properties getSettings();
void setSettings(Properties s);
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... nputstream
Свойства не записывают с помощью FileInputStream? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1737814696
Anonymous
Я сделал простое приложение для списка с Java, это проект Maven. Он использует класс настроек для загрузки и записи материала в настройках файлов. Программа обычно загружает настройки по умолчанию при запуске, и если я изменю файлы. DarkTheme = false Он запустит и установит цвета по умолчанию на свет, если я также изменю свойство ширины, оно будет загружать номинальное применение с и высотой, которую есть в файле. Проблема заключается в том, что когда я пишу настройки в объект свойств и передаю его на настройки storage.writeproperties (текущие наборы), кажется, что он пишет его, потому что после того, как я перезагружает свойства, он печатает то же самое, что и я прошел метод, чтобы написать. Но когда я перезагружаю приложение, файл не изменился, и программа загружает существующие данные. Загрузите и напишите настройки, используя настройки, чтобы файл был одинаковым. Настройки sdialogPanel, а затем после перезапуска приложения загружает настройки, которые он хранится на диском. думал, что это не работает, потому что он находится в папке ресурсов внутри моего приложения Maven, но еще один файл задачи. Дат пишет и читает номиналали в одном и том же месте. < /p>
package org.app.settings;
import java.io.*;
import java.util.Properties;
public class SettingsStorage {
static final String SETTINGS_PATH = "settings.properties";
PanelWithSettings mp;
public SettingsStorage(PanelWithSettings mp) {
this.mp = mp;
}
public void loadSettings () {
try {
InputStream is = getClass().getClassLoader().getResourceAsStream(SETTINGS_PATH);
if (is==null) {
System.out.println("failed to access file, creating a new one!");
return;
}
Properties p = new Properties();
p.load(is);
mp.setSettings(p);
is.close();
} catch (FileNotFoundException e) {
System.out.println("error: settingsstorage::loadsettings: file "+
SETTINGS_PATH+" not found, creating new file...");
createFile();
} catch (IOException e) {
System.out.println("settingsstorage.loadsettings: something went wrong: "+e);
}
}
public static void writeSettings (Properties s) {
try {
FileOutputStream fos = new FileOutputStream(SETTINGS_PATH);
s.store(fos, "settings");
fos.close();
System.out.println("Given properties wrote successfully");
} catch (IOException e) {
System.out.println("settingsstorage::writesettings(Properties): something went wrong: "+e);
}
}
public void writeSettings () {
FileOutputStream fos;
try {
fos = new FileOutputStream(SETTINGS_PATH);
Properties p = mp.getSettings();
p.store(fos, "settings");
fos.close();
System.out.println("Panel's Properties wrote successfully");
} catch (FileNotFoundException e) {
System.out.println("settingsstorage::writesettings: file "+
SETTINGS_PATH+" not found, creating new file...");
createFile();
} catch (IOException e) {
System.out.println("settingsstorage::writesettings: something went wrong: "+e);
}
}
public static Properties loadPropertiesFromDisk () {
try {
FileInputStream fis = new FileInputStream(SETTINGS_PATH);
Properties p = new Properties();
p.load(fis);
fis.close();
return p;
} catch (FileNotFoundException e) {
System.out.println("error: settingsstorage::loadsettings: file "+
SETTINGS_PATH+" not found, creating new file...");
System.err.println("Cannot access "+SETTINGS_PATH.substring('.')+
" , FileNotFoundException (file not found)");
} catch (IOException e) {
System.out.println("settingsstorage.loadsettings: something went wrong: "+e);
}
return null; // failed
}
public void createFile () {
File f = new File(SETTINGS_PATH);
f.delete();
try {
f.createNewFile();
} catch (IOException e) {
System.out.println("settingsstorage::createfile: something went wrong: "+e);
}
}
public static void main (String[] args) {
Properties p = loadPropertiesFromDisk();
p.forEach((key, val) -> {
System.out.println(key+" => "+val);
});
System.out.println("Write settings");
p.clear();
p.put("darkTheme", "false");
p.put("width", "599");
p.put("height", "699");
writeSettings(p);
Properties properties = loadPropertiesFromDisk();
properties.forEach((key, val) -> {
System.out.println(key+" => "+val);
});
}
}
package org.app.settings;
import java.util.Properties;
public interface PanelWithSettings {
Properties getSettings();
void setSettings(Properties s);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79386880/properties-doesent-write-with-fileinputstream[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия