在Android上使用路径分隔符命名文件

时间:2018-07-11 14:07:58

标签: java android encryption base64 sharedpreferences

我正在尝试使用SharedPreferences为我的应用程序创建一个设置文件。 文件名使用Base64加密,例如:

  

settings_tNlnyBx1p2mQRgahrEAviA ==。xml (原为settings_username.xml)

tNlnyBx1p2mQRgahrEAviA ==取决于用户。如果用户使用其他电子邮件地址创建帐户,则加密结果会有所不同。

但是,有时加密结果包含'/'(路径分隔符),并且在异常时会出错。 (java.lang.IllegalArgumentException)我知道路径不能有'/',但是我不能告诉用户不要使用该电子邮件地址。

错误看起来像:

 database = getSharedPreferences("settings_NGX0Ij2z6L/4xgitGr7apA==", 0);

我的代码是:

{
  "ConnectionStrings": {
    "MyConnectionString": "Server=yourServer;Port=5432;Database=yourDatabase;User Id=yourDatabaseUsername;Password=yourDatabasePassword;"
  }
}

有什么办法解决这个问题?

0 个答案:

没有答案