在我的应用程序中,我想将文件存储到SD卡中。
我希望当应用程序存储此文件时,将当前日期作为文件名添加,因此我编写了以下代码。
但是,当用户将设备语言更改为UTF-8语言(例如:波斯语 - 阿拉伯语等)时,文件将使用UTF-8字符存储!
例如:将文件存储为此名称:
我的代码:
我该怎么解决这个问题?
我希望当应用程序存储此文件时,将当前日期作为文件名添加,因此我编写了以下代码。
但是,当用户将设备语言更改为UTF-8语言(例如:波斯语 - 阿拉伯语等)时,文件将使用UTF-8字符存储!
例如:将文件存储为此名称:
COM_MyVideo_۲۰۲۰-۱-۵
,但我希望存储为此名称:COM_MyVideo_2020-1-5
我的代码:
private String getFileSaveName() {
videoName = GoodPrefs.getInstance().getString(ConstKeys.TEST_NAME, "MyApp");
videoName = videoName + "-" + GoodPrefs.getInstance().getInt(ConstKeys.TEST_ID, 0) + "-";
String filename = "yyyyMMdd_HHmmss";
//Required to handle preference change
filename = filename.replace("hh", "HH");
String prefix = "COM_" + videoName;
Date today = Calendar.getInstance().getTime();
SimpleDateFormat formatter = new SimpleDateFormat(filename);
return prefix + formatter.format(today);
}
我该怎么解决这个问题?
SimpleDateFormat
及其相关类,并在您的Android项目中添加ThreeTenABP,以使用现代Java日期和时间APIjava.time
。使用起来更加舒适。 - Ole V.V.