In the previous post we have seen how to read files from external storage (SD Card), now let's see how we can read the contents from a text file stored in Internal Storage.
File : MainActivity.javaimport java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
TextView dispText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dispText = (TextView) findViewById(R.id.text_file_data);
}
public void getTextFile(View v) {
String data = getTextFileData("data.txt");
dispText.setText(data);
}
public String getTextFileData(String fileName) {
StringBuilder text = new StringBuilder();
try {
FileInputStream fIS = getApplicationContext().openFileInput(fileName);
InputStreamReader isr = new InputStreamReader(fIS, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
text.append(line + '\n');
}
br.close();
} catch (IOException e) {
Log.e("Error!", "Error occurred while reading text file from Internal Storage!");
}
return text.toString();
}
}
File : layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.code2care.readtextfile.MainActivity" >
<TextView
android:id="@+id/text_file_data"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:layout_alignParentRight="true"
android:padding="10dp"
android:text="@string/text_file_data" />
<Button
android:id="@+id/read_text_file"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="127dp"
android:onClick="getTextFile"
android:text="@string/btn" />
</RelativeLayout>
This is not an AI-generated article but is demonstrated by a human on an M1 Mac running macOS Sonoma 14.0.
Please support independent contributors like Code2care by donating a coffee.
Buy me a coffee!

Comments & Discussion
Facing issues? Have questions? Post them here! We're happy to help!