- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Can we use readUTF() to read a string from a .txt file in Java?
The readUTF() method of the java.io.DataOutputStream reads data that is in modified UTF-8 encoding, into a String and returns it.
Example
The following Java program reads a UTF-8 text from a .txt file using the readUTF() method.
import java.io.DataInputStream; import java.io.EOFException; import java.io.FileInputStream; import java.io.IOException; public class UTF8Example { public static void main(String args[]) { StringBuffer buffer = new StringBuffer(); try { //Instantiating the FileInputStream class FileInputStream fileIn = new FileInputStream("D:\test.txt"); //Instantiating the DataInputStream class DataInputStream inputStream = new DataInputStream(fileIn); //Reading UTF data from the DataInputStream while(inputStream.available()>0) { buffer.append(inputStream.readUTF()); } } catch(EOFException ex) { System.out.println(ex.toString()); } catch(IOException ex) { System.out.println(ex.toString()); } System.out.println("Contents of the file: "+buffer.toString()); } }
Output
Contents of the file: టుటోరియల్స్ పాయింట్ కి స్వాగతిం
Using readUTF() method to read normal text
While reading text from a file using the readUTF() method, if the contents of the file are not invalid UTF format then this method generates an EOFException.
Example
In the following Java program, we are writing normal text into a file using the BufferedWriter and trying to read it using the readUTF() method. This generates an EOFException.
import java.io.BufferedWriter; import java.io.DataInputStream; import java.io.EOFException; import java.io.FileInputStream; import java.io.IOException; import java.util.Scanner; import java.io.FileWriter; public class ReadingTextUsingUTF { public static void main(String args[]) { FileWriter fileOut = null; BufferedWriter bufferedWriter = null; FileInputStream fileIn = null; DataInputStream inputStream = null; Scanner sc = new Scanner(System.in); try { //Instantiating the FileOutputStream class fileOut = new FileWriter("D:\utfText.txt"); //Instantiating the DataOutputStream class bufferedWriter = new BufferedWriter(fileOut); //Writing UTF data to the output stream System.out.println("Enter sample text (single line)"); bufferedWriter.write(sc.nextLine()); bufferedWriter.flush(); System.out.println("Data inserted into the file"); bufferedWriter.close(); fileOut.close(); //Instantiating the FileInputStream class fileIn = new FileInputStream("D:\utfText.txt"); //Instantiating the DataInputStream class inputStream = new DataInputStream(fileIn); //Reading UTF data from the DataInputStream while(inputStream.available()>0) { System.out.println(inputStream.readUTF()); } inputStream.close(); fileIn.close(); } catch(EOFException ex) { System.out.println("Contents are not in valid UTF-8 format"); } catch(IOException ex) { System.out.println(ex.toString()); } } }
Output
Enter sample text (single line) Hello how are you] Data inserted into the file Contents are not in valid UTF-8 format
Advertisements