Android Tutorial
Software Setup and Configuration
Android Studio
File Structure
Components
Core Topics
Layout
View
Button
Intent and Intent Filters
Toast
RecyclerView
Fragments
Adapters
Other UI Component
Image Loading Libraries
Date and Time
Material Design
Bars
Working with Google Maps
Chart
Animation
Database
Advance Android
Jetpack
Architecture
App Publish
App Monetization
If you're thinking of writing text to a file, you'd generally use Java's I/O classes or Kotlin's extension functions.
However, I'll provide an example of how to write text to a file in Android:
AndroidManifest.xml
:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
For Android versions 10 (Q) and above, you might also want to consider setting:
<application android:requestLegacyExternalStorage="true" ... >
import android.os.Bundle; import android.os.Environment; import androidx.appcompat.app.AppCompatActivity; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { File myFile = new File(Environment.getExternalStorageDirectory(), "mytextfile.txt"); if (!myFile.exists()) { myFile.createNewFile(); } FileOutputStream fOut = new FileOutputStream(myFile); OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); myOutWriter.append("Hello, Android!"); myOutWriter.close(); fOut.close(); } catch (Exception e) { e.printStackTrace(); } } }
Using Kotlin's extension functions, writing to a file becomes more concise:
Add permissions and flags to AndroidManifest.xml
as mentioned above.
Write to a file:
import android.os.Bundle import android.os.Environment import androidx.appcompat.app.AppCompatActivity import java.io.File class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) try { val myFile = File(Environment.getExternalStorageDirectory(), "mytextfile.txt") myFile.writeText("Hello, Android!") } catch (e: Exception) { e.printStackTrace() } } }
Again, ensure you handle runtime permissions for Android 6.0 and above.
Note: Direct access to shared/external storage has been discouraged and restricted in more recent Android versions. Consider using app-specific storage, the Storage Access Framework, or MediaStore for more sustainable and future-proof solutions.
Writing text to a file in Android example:
import android.content.Context; import java.io.FileOutputStream; import java.io.IOException; public class FileWriteUtil { public static void writeTextToFile(Context context, String fileName, String textToWrite) { try { FileOutputStream fileOutputStream = context.openFileOutput(fileName, Context.MODE_PRIVATE); fileOutputStream.write(textToWrite.getBytes()); fileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
// Example usage in an activity or fragment FileWriteUtil.writeTextToFile(getApplicationContext(), "example.txt", "Hello, File!");
Reading and writing text files in Android:
import android.content.Context; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; public class FileReadWriteUtil { public static void writeTextToFile(Context context, String fileName, String textToWrite) { try { FileOutputStream fileOutputStream = context.openFileOutput(fileName, Context.MODE_PRIVATE); fileOutputStream.write(textToWrite.getBytes()); fileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } public static String readTextFromFile(Context context, String fileName) { StringBuilder text = new StringBuilder(); try { BufferedReader bufferedReader = new BufferedReader(new FileReader(context.getFilesDir() + "/" + fileName)); String line; while ((line = bufferedReader.readLine()) != null) { text.append(line).append("\n"); } bufferedReader.close(); } catch (IOException e) { e.printStackTrace(); } return text.toString(); } }
// Example usage in an activity or fragment FileReadWriteUtil.writeTextToFile(getApplicationContext(), "example.txt", "Hello, File!"); String readText = FileReadWriteUtil.readTextFromFile(getApplicationContext(), "example.txt");
Using BufferedWriter in Android for text output:
import android.content.Context; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class BufferedWriterUtil { public static void writeTextToFile(Context context, String fileName, String textToWrite) { try (BufferedWriter writer = new BufferedWriter(new FileWriter(context.getFilesDir() + "/" + fileName))) { writer.write(textToWrite); } catch (IOException e) { e.printStackTrace(); } } }
// Example usage in an activity or fragment BufferedWriterUtil.writeTextToFile(getApplicationContext(), "example.txt", "Hello, BufferedWriter!");
Android File IO operations with text data:
import android.content.Context; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class FileIOUtil { public static void writeTextToFile(Context context, String fileName, String textToWrite) { try (FileOutputStream fileOutputStream = new FileOutputStream(new File(context.getFilesDir(), fileName))) { fileOutputStream.write(textToWrite.getBytes()); } catch (IOException e) { e.printStackTrace(); } } public static String readTextFromFile(Context context, String fileName) { StringBuilder text = new StringBuilder(); try (FileInputStream fileInputStream = new FileInputStream(new File(context.getFilesDir(), fileName))) { int content; while ((content = fileInputStream.read()) != -1) { text.append((char) content); } } catch (IOException e) { e.printStackTrace(); } return text.toString(); } }
// Example usage in an activity or fragment FileIOUtil.writeTextToFile(getApplicationContext(), "example.txt", "Hello, File IO!"); String readText = FileIOUtil.readTextFromFile(getApplicationContext(), "example.txt");
Working with FileOutputStream in Android for text:
import android.content.Context; import java.io.FileOutputStream; import java.io.IOException; public class FileOutputStreamUtil { public static void writeTextToFile(Context context, String fileName, String textToWrite) { try (FileOutputStream fileOutputStream = context.openFileOutput(fileName, Context.MODE_PRIVATE)) { fileOutputStream.write(textToWrite.getBytes()); } catch (IOException e) { e.printStackTrace(); } } }
// Example usage in an activity or fragment FileOutputStreamUtil.writeTextToFile(getApplicationContext(), "example.txt", "Hello, FileOutputStream!");
Android FileWriter vs OutputStreamWriter:
import android.content.Context; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStreamWriter; public class FileWriterVsOutputStreamWriterUtil { public static void writeTextToFileWithFileWriter(Context context, String fileName, String textToWrite) { try (FileWriter fileWriter = new FileWriter(context.getFilesDir() + "/" + fileName)) { fileWriter.write(textToWrite); } catch (IOException e) { e.printStackTrace(); } } public static void writeTextToFileWithOutputStreamWriter(Context context, String fileName, String textToWrite) { try (FileOutputStream fileOutputStream = context.openFileOutput(fileName, Context.MODE_PRIVATE); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream)) { outputStreamWriter.write(textToWrite); } catch (IOException e) { e.printStackTrace(); } } }
// Example usage in an activity or fragment FileWriterVsOutputStreamWriterUtil.writeTextToFileWithFileWriter(getApplicationContext(), "example_fw.txt", "FileWriter Example"); FileWriterVsOutputStreamWriterUtil.writeTextToFileWithOutputStreamWriter(getApplicationContext(), "example_osw.txt", "OutputStreamWriter Example");
Handling text data with PrintWriter in Android:
import android.content.Context; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; public class PrintWriterUtil { public static void writeTextToFile(Context context, String fileName, String textToWrite) { try (FileOutputStream fileOutputStream = context.openFileOutput(fileName, Context.MODE_PRIVATE); PrintWriter printWriter = new PrintWriter(fileOutputStream)) { printWriter.println(textToWrite); } catch (IOException e) { e.printStackTrace(); } } }
// Example usage in an activity or fragment PrintWriterUtil.writeTextToFile(getApplicationContext(), "example_printwriter.txt", "PrintWriter Example");
Writing and reading text from internal storage in Android:
import android.content.Context; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class InternalStorageUtil { public static void writeTextToFile(Context context, String fileName, String textToWrite) { try (FileOutputStream fileOutputStream = context.openFileOutput(fileName, Context.MODE_PRIVATE)) { fileOutputStream.write(textToWrite.getBytes()); } catch (IOException e) { e.printStackTrace(); } } public static String readTextFromFile(Context context, String fileName) { StringBuilder text = new StringBuilder(); try (FileInputStream fileInputStream = context.openFileInput(fileName)) { int content; while ((content = fileInputStream.read()) != -1) { text.append((char) content); } } catch (IOException e) { e.printStackTrace(); } return text.toString(); } }
// Example usage in an activity or fragment InternalStorageUtil.writeTextToFile(getApplicationContext(), "example_internal.txt", "Internal Storage Example"); String readTextInternal = InternalStorageUtil.readTextFromFile(getApplicationContext(), "example_internal.txt");