Teachnique
      CourseRoadmaps
      Login

      OverviewHistoryFeaturesJava 8 - New Featuresvs C++Virtual Machine(JVM)JDK vs JRE vs JVMHello World ProgramEnvironment SetupBasic SyntaxVariable TypesData TypesType CastingUnicode SystemBasic OperatorsCommentsStreamsNew Date-Time API

      Loop ControlDecision Makingif-else Statementswitch statementfor loopfor each Loopwhile Loopdo...while Loopbreak Statementcontinue Statement

      OOPs (Object-Oriented Programming) ConceptsObject and ClassesClass AttributesClass MethodsMethodsVariable ScopesConstructorsAccess ModifiersInheritanceAggregationPolymorphismOverridingMethod OverloadingDynamic BindingStatic BindingInstance Initializer BlockAbstractionEncapsulationInterfacesPackagesInner classesStatic ClassesAnonymous ClassesSingleton ClassWrapper ClassesEnum Class

      Number ClassBoolean classCharacter ClassArraysMath Class

      File ClassCreating FilesWrite To FilesReading FileDelete FilesDirectory OperationsFiles and I/O

      ExceptionsTry Catch BlockTry with ResourcesMultiple Catch BlocksNested Try BlockFinally BlockThrows and Throw | Throw an ExceptionException PropagationBuilt-in ExceptionsCustom Exception

      MultithreadingThread Life CycleCreating a ThreadStarting a ThreadJoining ThreadsNaming a Thread with ExamplesScheduling Threads with ExamplesThread PoolsMain ThreadThread PriorityDaemon ThreadThreadGroup ClassJVM Shutdown Hook

      Thread SynchronizationBlock SynchronizationStatic SynchronizationInter Thread CommunicationThread DeadlockInterrupting ThreadThread ControlReentrant Monitor

      NetworkingSocket ProgrammingURL ProcessingURL ClassURLConnection ClassHttpURLConnection ClassSocket Class with ExamplesGenerics

      Collections FrameworkCollection Interface

      List InterfaceArrayList Class

      Queue InterfaceArrayDeque Class

      Map InterfaceSortedMap Interface

      Set InterfaceSortedSet Interface

      Data Structures Enumeration Interface BitSet Class

      How to Use Iterator?How to Use Comparator?How to Use Comparable?

      RecursionRegular ExpressionsSerializationString ClassJava Arrays - Class

      Feedback

      Submit request if you have any questions.

      Course
      Reading File

      Java Tutorial

      This Java tutorial is tailored for newcomers, offering a journey from basic principles to complex Java programming techniques. Completing this tutorial equips you with a solid understanding of Java, preparing you for advanced learning. You'll emerge ready to tackle the challenges of becoming a top-tier software engineer, with the skills to innovate and excel in the vast world of software development.

      Reading File

      Reading a File in Java

      We can read a file in Java using multiple ways. Following are three most popular ways to create a file in Java
      • Using FileInputStream() constructor
      • Using FileReader.read() method
      • Using Files.readAllLines() method
      Let's take a look at each of the way to read file in Java.

      Reading File Using FileInputStream() Constructor

      FileInputStream is used for reading data from the files. Objects can be created using the keyword new and there are several types of constructors available.

      Syntax

      Following constructor takes a file name as a string to create an input stream object to read the file
      InputStream f = new FileInputStream("C:/java/hello.txt");

      Syntax

      Following constructor takes a file object to create an input stream object to read the file. First we create a file object using File() method as follows
      File f = new File("C:/java/hello.txt");
      InputStream f = new FileInputStream(f);

      Example: Reading File Using FileInputStream() Constructor

      Following is the example to demonstrate FileInputStream to read a file from current directory
      package com.tutorialspoint;
      
      import java.io.FileInputStream;
      import java.io.FileOutputStream;
      import java.io.IOException;
      import java.io.InputStream;
      import java.io.OutputStream;
      
      public class FileTest {
      public static void main(String args[]) {
      try {
      byte bWrite [] = {65, 66, 67, 68, 69};
      OutputStream os = new FileOutputStream("test.txt");
      for(int x = 0; x < bWrite.length ; x++) {
      os.write( bWrite[x] ); // writes the bytes
      }
      os.close();
      InputStream is = new FileInputStream("test.txt");
      int size = is.available();
      
      for(int i = 0; i < size; i++) {
      System.out.print((char)is.read() + " ");
      }
      is.close();
      } catch (IOException e) {
      System.out.print("Exception");
      }
      }
      }
      The above code would create file test.txt and would write given numbers in binary format. Same would be read using FileInputStream and the output is printed on the stdout screen.

      Output

      A B C D E

      Reading File Using FileReader.read() Method

      FileReader.read() method of FileReader class allows to read chars from a file as shown below

      Syntax

      // get an existing file
      File file = new File("d://test//testFile1.txt");
      
      // read content
      FileReader reader = new FileReader(file);
      
      int c;
      while ((c = reader.read()) != -1) {
      char ch = (char) c;
      System.out.print(ch);
      }

      Example: Reading File Using FileReader.read() Method

      Following is the example to demonstrate File to read a file in given directory using FileReader.read() method
      package com.tutorialspoint;
      
      import java.io.File;
      import java.io.FileReader;
      import java.io.FileWriter;
      import java.io.IOException;
      
      public class FileTest {
      public static void main(String args[]) {
      try {
      File file = new File("d://test//testFile1.txt");
      
      //Create the file
      if (file.createNewFile()) {
      System.out.println("File is created!");
      } else {
      System.out.println("File already exists.");
      }
      
      // Write Content
      FileWriter writer = new FileWriter(file);
      writer.write("Test data");
      writer.close();
      
      
      // read content
      FileReader reader = new FileReader(file);
      
      int c;
      while ((c = reader.read()) != -1) {
      char ch = (char) c;
      System.out.print(ch);
      }
      } catch (IOException e) {
      System.out.print("Exception");
      }
      }
      }
      The above code would create file test.txt and would write given string in text format. Same would be the output on the stdout screen.

      Output

      File is created!
      Test data

      Reading File Using Files.readAllLines() Method

      Files.readAllLines() is a newer method to read all content of a file as a List of String as shown below

      Syntax

      List<String> content = Files.readAllLines(Paths.get("d://test/testFile3.txt"));

      Example: Reading File Using Files.readAllLines() Method

      Following is the example to demonstrate File to read a file from a given directory using readAllLines() method
      package com.tutorialspoint;
      
      import java.io.IOException;
      import java.nio.charset.StandardCharsets;
      import java.nio.file.Files;
      import java.nio.file.Paths;
      import java.nio.file.StandardOpenOption;
      import java.util.Arrays;
      import java.util.List;
      
      public class FileTest {
      public static void main(String args[]) {
      try {
      String data = "Test data";
      Files.write(Paths.get("d://test/testFile3.txt"), data.getBytes());
      List<String> lines = Arrays.asList("1st line", "2nd line");
      Files.write(Paths.get(
      "file6.txt"), lines, StandardCharsets.UTF_8,
      StandardOpenOption.CREATE, StandardOpenOption.APPEND);
      List<String> content = Files.readAllLines(Paths.get("d://test/testFile3.txt"));
      
      System.out.println(content);
      content = Files.readAllLines(Paths.get("file6.txt"));
      
      System.out.println(content);
      } catch (IOException e) {
      System.out.print("Exception");
      }
      }
      }
      The above code would create file test.txt and would write given strings in text format. Same would be the output on the stdout screen.

      Output

      [Test data]
      [1st line, 2nd line]