Any experts available to help me? In my Android main activity, I'm trying to save a String to a file and then retrieve it if the user has set it before. Wasn't able to find any examples close to what I am doing. I would most appreciate any help! Here is my test case that crashes:
String testString = "WORKS"; String readString; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); FileOutputStream fos; try { fos = openFileOutput("test.txt", Context.MODE_PRIVATE); fos.write(testString.getBytes()); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } File file = getBaseContext().getFileStreamPath("test.txt"); if (file.exists()) { FileInputStream fis; try { fis = openFileInput("test.txt"); fis.read(readString.getBytes()); fis.close(); } catch (IOException e) { e.printStackTrace(); } txtDate.setText(String.valueOf(readString)); } else { // more code } } }
The FileInputStream class reads the data from a specific file (byte by byte). It is usually used to read the contents of a file with raw bytes, such as images. First of all, you need to instantiate this class by passing a String variable or a File object, representing the path of the file to be read.
The read() method of a FileInputStream returns an int which contains the byte value of the byte read.
The readString() method of File Class in Java is used to read contents to the specified file. Return Value: This method returns the content of the file in String format. Note: File. readString() method was introduced in Java 11 and this method is used to read a file's content into String.
This String should contain the path in the file system to where the file to read is located. Here is a code example: String path = "C:\\user\\data\\thefile. txt"; FileInputStream fileInputStream = new FileInputStream(path);
For reading file try this:
FileInputStream fis; fis = openFileInput("test.txt"); StringBuffer fileContent = new StringBuffer(""); byte[] buffer = new byte[1024]; while ((n = fis.read(buffer)) != -1) { fileContent.append(new String(buffer, 0, n)); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With