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
      Write To Files

      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.

      Write To File

      Write To File in Java

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

      Write To File Using FileOutputStream Constructor

      FileOutputStream is used to create a file and write data into it. The stream would create a file, if it doesn't already exist, before opening it for output.
      Here are two constructors which can be used to create a FileOutputStream object.

      Syntax

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

      Syntax

      Following constructor takes a file object to create an output stream object to write the file. First, we create a file object using File() method then we're writing bytes to the stream as follows
      File f = new File("C:/java/hello.txt");
      OutputStream f = new FileOutputStream(f);
      
      for(int x = 0; x < bWrite.length ; x++) {
      os.write( bWrite[x] ); // writes the bytes
      }

      Example: Write To File Using FileOutputStream Constructor

      Following is the example to demonstrate FileOutputStream to write a file in 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 the output on the stdout screen.

      Output

      A B C D E

      Write To File Using FileWriter.write() Method

      FileWriter.write() method of FileWriter class allows to write chars to a file as shown below

      Syntax

      // get an existing file
      File file = new File("d://test//testFile1.txt");
      
      // Write Content
      FileWriter writer = new FileWriter(file);
      writer.write("Test data");
      writer.close();

      Example: Write To File Using FileWriter.write() Method

      Following is the example to demonstrate File to write to a file in given directory using FileWriter.write() 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

      Write To File Using Files.write() Method

      Files.write() is a newer and more flexible method create a file and write content to a file in same command as shown below

      Syntax

      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);

      Example: Write To File Using Files.write() Method

      Following is the example to demonstrate File to create a file in given directory using Files.write() 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]