Java Basics 114 – Reading Text File
Project Name: textfiles
Main Class Name: textfiles.FileData
Delete all comments and unnecessary codes, leaving only the following codes.
package textfiles; public class FileData { public static void main(String[] args) { // TODO code application logic here }
} |
2-1) Insert Import Statement after Package Declaration Statement.
package textfiles; import java.io.IOException; public class FileData { public static void main(String[] args) { // TODO code application logic here } } |
3-1) Add THROWS to Main Method Declaration.
package textfiles; import java.io.IOException; public class FileData { public static void main(String[] args) throws IOException { // TODO code application logic here } } |
The throw keyword is part of Java's exception handling.
4-1) Right-click the textfiles package and select New/Java Class.
4-2) Type Class Name ReadFile.
4-3) Startup codes.
package textfiles; public class ReadFile {
} |
package textfiles; import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; public class ReadFile {
} |
6-1) Declare a String named path.
6-1) Declare a Method named ReadFile.
package textfiles; import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; public class ReadFile { private String path; public ReadFile(String file_path) { path = file_path; } } |
7-1) Declare Method OpenFile.
package textfiles; import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; public class ReadFile { private String path; public ReadFile(String file_path) { path = file_path; } public String[] OpenFile() throws IOException {
} } |
7-2) Add instructions create file reader object and buffer object.
package textfiles; import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; public class ReadFile { private String path; public ReadFile(String file_path) { path = file_path; } public String[] OpenFile() throws IOException { FileReader fr = new FileReader(path); BufferedReader textReader = new BufferedReader(fr); } } |
7-3) Add instructions to create variable to store data.
package textfiles; import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; public class ReadFile { private String path; public ReadFile(String file_path) { path = file_path; } public String[] OpenFile() throws IOException { FileReader fr = new FileReader(path); BufferedReader textReader = new BufferedReader(fr); int numberOfLines = 3; String[] textData = new String[numberOfLines]; } } |
7-4) Add instructions to pass data from buffer to variable.
package textfiles; import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; public class ReadFile { private String path; public ReadFile(String file_path) { path = file_path; } public String[] OpenFile() throws IOException { FileReader fr = new FileReader(path); BufferedReader textReader = new BufferedReader(fr);
int numberOfLines = 3; String[] textData = new String[numberOfLines]; int i; for (i = 0; i < numberOfLines; i++) { textData[ i] = textReader.readLine(); } } } |
7-5) Add instructions to close object and return the text data.
package textfiles; import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; public class ReadFile { private String path; public ReadFile(String file_path) { path = file_path; } public String[] OpenFile() throws IOException { FileReader fr = new FileReader(path); BufferedReader textReader = new BufferedReader(fr); int numberOfLines = 3;
String[] textData = new String[numberOfLines];
int i; for (i = 0; i < numberOfLines; i++) { textData[ i] = textReader.readLine(); } textReader.close(); return textData; } } |
7-6) Add Method to read number if lines in text file.
package textfiles; import java.io.IOException; import java.io.FileReader; import java.io.BufferedReader; public class ReadFile { private String path; public ReadFile(String file_path) { path = file_path; } public String[] OpenFile() throws IOException { FileReader fr = new FileReader(path); BufferedReader textReader = new BufferedReader(fr); int numberOfLines = 3; String[] textData = new String[numberOfLines]; int i; for (i = 0; i < numberOfLines; i++) { textData[ i] = textReader.readLine(); } textReader.close(); return textData; } int readLines() throws IOException{ FileReader file_to_read = new FileReader(path); BufferedReader bf = new BufferedReader(file_to_read); String aLine; int numberOfLines = 0; while ((aLine = bf.readLine()) != null) { numberOfLines++; }
bf.close(); return numberOfLines; } } |
8-1) Edit Main Method.
package textfiles; import java.io.IOException; public class FileData { public static void main(String[] args) throws IOException { String file_name = "C:/test.txt"; ReadFile file = new ReadFile(file_name); String[] aryLines = file.OpenFile(); int i; for (i = 0; i < aryLines.length; i++) { System.out.println(aryLines[ i]); } } } |
8-2) Create text file test.txt at file root.
This is line one. This is line two. This is line three. This is line four. |
8-3) Run your program.
8-4) Change line limit from 3 to actual line.
Refer Step 7-7 statement “int numberOfLines = 3;”
Change to “int numberOfLines = readLines();”
8-5) Run your program.
9-1) Edit Main Method.
package textfiles; import java.io.IOException; public class FileData { public static void main(String[] args) throws IOException { String file_name = "C:/test.txt"; try { ReadFile file = new ReadFile(file_name); String[] aryLines = file.OpenFile(); int i; for (i = 0; i < aryLines.length; i++) { System.out.println(aryLines[ i]); } } catch (IOException e) { System.out.println(e.getMessage()); } } } |
9-2) Test.
Rename the text file to test1.txt.
Run your program again.
http://www.homeandlearn.co.uk/java/read_a_textfile_in_java.html