Text File in Java
Programmers use text files in Java while working with Java applications that require reading and writing on a file. Text files are universal ways to store information, code, or any other data. A text file is considered a sequence of characters organized horizontally. The text files in Java have extensions such as .java containing Java codes. Java provides different utilities allowing you to deal with plain text files by either reading from them or writing to them. You can choose any read/write utility per your understanding.
Key Highlights
- A text file is made of different characters, where one can perform read and write operations using java.io.package.
- To read, you can use Reader Class or utility class. Some utility classes are- File Class, FileReader, BufferedReader, and Scanner class.
- To write to a file in Java, you can use Java 7 Files, FileWriter, BufferedWriter, and FileOutputStream.
- Using different methods, you can efficiently work around text files in Java.
How to Read Text Files in Java?
- In text files, each line has plain characters, and each line is marked by an invisible “end-of-line” symbol representing the end of that specific line.
- For reading text files in Java, different utilities are available. Each utility has its way of reading from the text file and offers some functionality that differs from other alternatives.
- Here we will explain different methods with a good example for better understanding.
Before starting with the methods, we are considering a text file “test.txt” at path “/Users/praashibansal/Desktop/Data/test.txt” with the content ”Hello, there”.
ADVERTISEMENT Popular Course in this category JAVA MASTERY - Specialization | 78 Course Series | 15 Mock TestsMethod 1 – Using BufferedReader Class
- You can use this method to read text from the character-input stream. You can use the default buffer size (8KB) or specify your own. It supports encoding.
- Each request has a Reader that creates a read request made of the underlying character stream or byte stream.
- Thus many developers recommend wrapping a BufferedReader around any Reader using its read() operations.
- It works well for processing large files. This method is synchronized and thus can be used from multiple threads.
Code:
import java.io.*; public class BReader { public static void main(String[] args) throws Exception { File f = new File( "https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt"); // Creating an object BufferedReader b = new BufferedReader(new FileReader(f)); // Declaring a string variable String s; // Condition holds till // there is a character in a string while ((s = b.readLine()) != null) // Print the string System.out.println(s); } }
Output:
Method 2 – Using FileReader Class
- You can use FileReader to get the BufferedReader and start reading the file.
- Unlike BufferedReader, it doesn’t support encoding and instead uses the system’s default encoding.
- It is just a simple way of reading characters.
- This class uses three constructors.
- FileReader(File file): Creates a new FileReader. The file is the file from which you will read the content.
- FileReader(FileDescriptor fd): Creates a new FileReader that reads from the file specified as FileDescriptor.
- FileReader(String fileName): Creates a new FileReader that will read from the file named fileName.
Code:
import java.io.*; public class RFile { public static void main(String[] args) throws Exception { // Passing the file’s path FileReader f = new FileReader( "https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt"); // declaring loop variable int i; while ((i = f.read()) != -1) // Print the content of a file System.out.print((char)i); } }
Output:
Method 3 – Using Scanner Class
- It is a simple text scanner, and it is capable of parsing primitive types and strings via regular expression.
- It breaks the input into tokens via a delimiter pattern. By default, the delimiter is the whitespace.
- Then the token converts into different types of values.
Code:
import java.io.File; import java.util.Scanner; public class ReadScan { public static void main(String[] args) throws Exception { // passing the file’s path File file = new File("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt"); Scanner s = new Scanner(file); while (s.hasNextLine()) System.out.println(s.nextLine()); } }
Output:
Method 4 – Using the Files Class Method
- Files class USES the following methods for reading the file.
- readAllBytes(Path path): reads all the bytes from the file and returns the byte array containing the bytes from the file.
- readAllLines(Path path, Charsetcs): reads all lines from the file and returns the List with the lines from the file.
Code:
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class FCExample { public static void main(String[] args) { Path path = Paths.get("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt"); try { byte[] b = Files.readAllBytes(path); System.out.println("Read bytes: \n"+new String(b)); } catch (IOException e) { } } }
Output:
How to Write a Text File in Java?
- Writing a text file in Java is also a simple process. Java offers different utilities to help write the lines to the file.
- Now for this process, we are assuming a file at the location- C:\\Users\\Data\\Desktop\\write.txt to which we are writing.
Method 1 – Using FileWriter Method
- This all-in-one method allows you to write int, byte array, and String to the File.
- It allows you to write directly into Files and is used in case of the less writes.
- Using the FileWriter method, you can write part of the String or byte array.
Code:
import java.io.FileWriter; public class FWFile { public static void main(String args[]){ try{ FileWriter f=new FileWriter("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt"); f.write("Hello"); f.close(); } catch(Exception e) { System.out.println(e); } System.out.println("Hello"); } }
Output:
Method 2 – Using BufferedWriter Method
- BufferedWriter is similar to FileWriter, but BufferedWriter uses an internal buffer to write data into File.
- It works well if you need to do more write operations and to ensure performance.
Code:
import java.io.FileWriter; import java.io.BufferedWriter; import java.io.IOException; public class BRExample { public static void main(String args[]) { String data = "data for output file"; try { // Creates a FileWriter FileWriter file = new FileWriter("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt"); try ( // Creates a BufferedWriter var o = new BufferedWriter(file)) { // Writes the string to the file o.write(data); } } catch (IOException e) { e.getStackTrace(); } } }
Output:
Method 3 – Using FileOutputStream Method
- For writing text to the file, you can simply use FileWriter and BufferedWriter.
- But, if you want the raw stream data to be written directly into a file, it is recommended to use the FileOutputStream utility.
- With this method, you must create the class object with the specific filename to write data into a file.
- The following example converts the string content into the byte array we will write into the file using the write() method.
Code:
import java.io.FileOutputStream; import java.io.IOException; public class GFG { public static void main(String[] args) { String f = "Hello"; FileOutputStream o = null; // starting Try block try { // creating an object of FileOutputStream o = new FileOutputStream("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt"); // storing byte content from string byte[] str = f.getBytes(); // writing into the file o.write(str); // printing success message System.out.print( "data added successfully."); } // Catch block for exception handling catch (IOException e) { System.out.print(e.getMessage()); } finally { // closing the object if (o != null) { // checking if the file is closed try { o.close(); } catch (IOException e) { // showing exception message System.out.print(e.getMessage()); } } } } }
Output:
Method 4 – Using Files Class
- In Java 7, you will get another utility, Files class, allowing you to write to a text file using its write function.
- Internally, this class uses the OutputStream utility to write a byte array into the file.
Code:
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; /** * Java Files write file example * * @author pankaj * */ public class FCExample { public static void main(String[] args) { Path path = Paths.get("https://cdn.educba.com/Users/praashibansal/Desktop/Data/test.txt"); try { String str = "Example"; byte[] bs = str.getBytes(); Path w = Files.write(path, bs); System.out.println("Written content in file:\n"+ new String(Files.readAllBytes(w))); } catch (IOException e) { } } }
Output:
Conclusion
Reading and writing a file in Java is a straightforward process. With the availability of different methods and utilities in Java, you can choose a specific way to read from and write to a file. Each utility has its functionality that makes it different from others.
FAQs
Q1. What are the different methods to read a text file in Java?
Answer: To read, you can use Reader Class or utility class. Some utility classes are- File Class, FileReader, BufferedReader, and Scanner class.
Q2. What are the different methods for writing a text file in Java?
Answer: To write a file in Java, you can use FileWriter, BufferedWriter, java 7 Files, FileOutputStream, and many other methods.
Q3. What package to use for handling files in Java?
Answer: You can easily import the File class from the java.io package to work with files.
The above is the detailed content of Text File in Java. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

The reasons why PHP is the preferred technology stack for many websites include its ease of use, strong community support, and widespread use. 1) Easy to learn and use, suitable for beginners. 2) Have a huge developer community and rich resources. 3) Widely used in WordPress, Drupal and other platforms. 4) Integrate tightly with web servers to simplify development deployment.
