将int值保存到SD并读取它们

时间:2014-09-09 19:48:26

标签: android

我已成功将int值保存到sd但无法读取。它总是提供数字格式信息。我做了所有的逻辑,但无法找到它给出错误的原因。

这是我的代码;

这是我的常数

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;
}

0 个答案:

没有答案