Android 将int值保存到SD并读取它们
我已成功地将int值保存到sd,但无法读取。它总是提供数字格式的信息。我做了所有的逻辑,但找不到为什么会出错 这是我的密码 这是我的常数Android 将int值保存到SD并读取它们,android,Android,我已成功地将int值保存到sd,但无法读取。它总是提供数字格式的信息。我做了所有的逻辑,但找不到为什么会出错 这是我的密码 这是我的常数 private final static String EXTERNAL_FILES_DIR = "ARDROID"; private final static String FILE_NAME = "turkcell.txt"; private boolean isThereAnySavedFile = false; 调用此方法时,它会尝试打开文件,如果文
private final static String EXTERNAL_FILES_DIR = "ARDROID";
private final static String FILE_NAME = "turkcell.txt";
private boolean isThereAnySavedFile = false;
调用此方法时,它会尝试打开文件,如果文件不存在,则创建该文件
public void anySavedDataInSD() {
String textFromSD = String.valueOf(read());
if (isThereAnySavedFile) {
int numberOfSendedSMS = Integer.parseInt(textFromSD.toString());
numberOfSendedSMS++;
writeToSD(String.valueOf(numberOfSendedSMS));
} else {
int first=60;
String g = String.valueOf(first);
writeToSD(g);
}
}
这种写作方法
private void write(File file, String msg) {
FileOutputStream outputStream = null;
try {
outputStream = new FileOutputStream(file);
outputStream.write(msg.getBytes());
Logger.info("oldu bu kez");
} catch (IOException e) {
Logger.info("oldu bu kez2" + e);
} finally {
Logger.info("oldu bu kez3");
try {
if (outputStream != null)
outputStream.close();
} catch (IOException exception) {
}
}
}
这是一种阅读方法
public StringBuilder read() {
StringBuilder textBuilder = new StringBuilder();
BufferedReader reader = null;
try {
File externalFilesDir = getExternalFilesDir(EXTERNAL_FILES_DIR);
File file = new File(externalFilesDir, FILE_NAME);
Logger.info("oldu2");
reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
textBuilder.append(line);
textBuilder.append("\n");
}
isThereAnySavedFile = true;
} catch (FileNotFoundException e) {
Logger.info("oldu3");
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return textBuilder;
}
在logcat中,您应该看到抛出异常的行。你应该试着在你的电脑上获取写入的文件,以检查里面有什么。
String textFromSD=String.valueOf(read())代码>。read()正在返回StringBuilder实例。String.valueOf会用这个做什么?重新思考!