Java 如何避免应用程序中创建的文件在关闭时被删除
我正在Android Studio中制作一个简单的登录应用程序,我不想使用任何数据库来存储用户的凭据。 我试图在应用程序中创建一个对象文件,并在这个存储中创建一个包含所有用户的HashMap。 我用下面的代码做的:Java 如何避免应用程序中创建的文件在关闭时被删除,java,android,Java,Android,我正在Android Studio中制作一个简单的登录应用程序,我不想使用任何数据库来存储用户的凭据。 我试图在应用程序中创建一个对象文件,并在这个存储中创建一个包含所有用户的HashMap。 我用下面的代码做的: File archivo_users = new File("Users.bixa"); if (!archivo_users.exists()){ try { ObjectOutputStream admin =
File archivo_users = new File("Users.bixa");
if (!archivo_users.exists()){
try {
ObjectOutputStream admin = new ObjectOutputStream( openFileOutput(archivo_users.toString(), Activity.MODE_PRIVATE));
HashMap<String, Usuario> admin_user = new HashMap<>();
// Make an Hash Map with a 'admin' default user
admin_user.put("admin",new Usuario("admin","admin","admin","admin",'h'));
admin.writeObject(admin_user);
admin.close();
} catch (IOException e) {
Toast.makeText(this,"An error ocurred creating Users.bixa",Toast.LENGTH_LONG).show();
}
所有这些都很好地工作,但问题是,当我关闭应用程序时,该文件不包含新用户,我现在不知道该文件是否在关闭应用程序时被删除,或者如果我的第一个代码条件错误,并且总是创建一个新文件
希望有人能帮助我,如果你读到这篇文章,谢谢你抽出时间。注意:如果我写错了什么,很抱歉,我的母语是西班牙语。将该文件保存在文件目录应用程序特定的存储中
File file = new File(context.filesDir(),"file.txt");
其他应用程序无法访问此文件
文件archivo_users=新文件(“users.bixa”)代码>此文件实例使用错误。您应该提供完整的路径。不仅仅是一个文件名。非常混乱。使用everywhereopenFileOutput(“Usuarios.bixa”,…
,从不使用openFileOutput(file.toString(),…archivo_users.exists())
如果您只使用文件nsme,这是不可能的代码,并且始终返回false。因此,您每次都会创建一个新文件,尽管它已经存在,因为您使用的文件类是错误的。您好,我是android的新创建应用程序,我应该在“源”中的何处创建文件Android Studio的目录?或者我应该在文件实例中放置什么路径。ThanksString fileName=“Usuarios.bixa”;File File=new File(getFilesDir(),fileName);openFileInput(fileName);openFileOutput(fileName);
BienvenidaActivity.UsuariosRegistrados.put(username,new Usuario(username, contrasenia, nombre, apellido, genero));
try {
ObjectOutputStream archivo = new ObjectOutputStream( openFileOutput("Usuarios.bixa", Activity.MODE_PRIVATE));
archivo.writeObject(BienvenidaActivity.UsuariosRegistrados);
archivo.close();
} catch (IOException e) {
Toast.makeText(this,"ERROR: No se logro actualizar la base de datos",Toast.LENGTH_LONG).show();
}
File file = new File(context.filesDir(),"file.txt");