Как сохранить данные в приложении Java для Windows?
Я создаю простое приложение для Windows с использованием Java, которое позволяет пользователям сохранять пароли и имена пользователей на выбранных веб-сайтах. Как сделать так, чтобы, когда пользователь выходил из приложения, информация, размещенная пользователем в приложении, была сохранена? Все данные сохраняются в массивы и связанные списки, если это помогает.
редактировать: я знаю о вводе / выводе и сохранении данных в файлы. Я ищу другое решение, если это возможно.
2 ответа
Вы можете писать / читать объекты в виде файла. Использование Java IO. Вам просто нужно реализовать класс Serializable
import java.io.Serializable;
import java.util.ArrayList;
public class DataToSend implements Serializable {
public ArrayList values = new ArrayList<Double>();
public DataToSend(ArrayList<Double> values){
this.values = values;
}
public DataToSend() {
// TODO Auto-generated constructor stub
}
public void addRandomValues(){
for(int i=0;i<1001;i++){
values.add(Math.random());
}
}
}
import java.io.*;
import java.util.ArrayList;
public class Tester {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ObjectInputStream objIn = new ObjectInputStream(
new FileInputStream("C:\\Users\\*user*\\rotationValues"));
ArrayList x = (ArrayList) objIn.readObject();
System.out.println(x.toString());
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Имена пользователей и пароли на веб-сайтах никогда не должны сохраняться ни в каком приложении или на компьютере. Это не безопасно.
В ответ на ваш комментарий:-
После того, как пользователь переходит в автономный режим, вам необходимо сохранить имя пользователя и пароли. Поэтому для этого вам нужна база данных, в которой данные будут сохраняться и будут доступны при следующем входе пользователя в систему.
Но храните данные в зашифрованном формате, поскольку они очень чувствительны.
Вы можете изучить ядро базы данных H2, которое является базой данных в памяти и поддерживает шифрование.