如何在打开应用程序时阅读文本文件?

时间:2017-06-12 17:33:44

标签: java android text-files

我正在创建一个应用程序,我可以在其中设置学校余额,并可以按专用按钮取消一定金额,具体取决于我购买的内容。我在平衡方面遇到了麻烦。我有办法将其更新为我想要的,但是在我终止应用程序后,我希望它在TextView中保持不变。到目前为止,我已经能够将它保存到文件中,或者至少我希望在视频的帮助下将其保存到文件中。

我如何打开应用程序读取文本文件并将TextView设置为等于文件中的内容?

submitBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String submitAmount = amountEnter.getText().toString();
            balance.setText(submitAmount);

            String myBalance = balance.getText().toString();

            try {
                FileOutputStream fou = openFileOutput("balance.txt", 
MODE_WORLD_READABLE);
                OutputStreamWriter osw = new OutputStreamWriter(fou);
                try {

                    osw.write(myBalance);
                    osw.flush();
                    osw.close();

                } catch (IOException e) {
                    e.printStackTrace();
                }

            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

        }
    });

2 个答案:

答案 0 :(得分:1)

看到你的代码,我假设你知道如何在android中读/写文件。如果没有,那么从这里看。 https://stackoverflow.com/questions/12421814/how-can-i-read-a-text-file-in-android/您可以尝试以下代码。 readfile方法来自上层链接。您只需要在活动的onCreate方法中读取文件中的特定行/字符串。获取所需TextView的引用,然后将文本设置为TextView,如下所示。我希望它可以帮到你

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.your_layout);
        String texts = readfile();
        TextView textView = findViewById(R.id.text_view);
        textView.setText(text);


}

private String readfile() {
    File sdcard = Environment.getExternalStorageDirectory();
    File file = new File(sdcard, "file.txt");
    StringBuilder text = new StringBuilder();

    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;

        while ((line = br.readLine()) != null) {
            text.append(line);
            text.append('\n');
        }
        br.close();
    } catch (IOException e) {
        //You'll need to add proper error handling here
    }

    return text.toString();
}

答案 1 :(得分:1)

您可以将其保存在SharedPrefs中 将其更改为

submitBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String submitAmount = amountEnter.getText().toString();
        balance.setText(submitAmount);
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).
edit().putString("balance", submitAmount).commit();

    }
});

你可以通过

获得它
String balance=PreferenceManager.getDefaultSharedPreferences(getApplicationContext())
.getString("balance","nothing_there");