How to handle files in Java for QA Engineers

blog banner

As a QA Engineer, especially when dealing with automation using Java, it's essential to understand how file handling works. Whether it’s reading a test data file, logging test results, or writing reports — **basic file operations** are a part of real-time QA work.

In this blog post, you will learn:
- How to create, write, read, and delete a file in Java
- How to read/write Excel files using Apache POI
- Real-world QA scenarios where file handling is useful
- Some practice questions to boost your understanding

πŸ“‚ 1. Creating a File in Java

You can create a new file using the File class.

import java.io.File;

public class CreateFile {
  public static void main(String[] args) {
    try {
      File file = new File("testdata.txt");
      if (file.createNewFile()) {
        System.out.println("File created: " + file.getName());
      } else {
        System.out.println("File already exists.");
      }
    } catch (Exception e) {
      System.out.println("Error: " + e.getMessage());
    }
  }
}

πŸ“ 2. Writing to a File

Use FileWriter to write content to a file. This is very useful when you want to log automation results or export some data.

import java.io.FileWriter;

public class WriteToFile {
  public static void main(String[] args) {
    try {
      FileWriter writer = new FileWriter("testdata.txt");
      writer.write("This is written by QA automation.");
      writer.close();
      System.out.println("Successfully wrote to file.");
    } catch (Exception e) {
      System.out.println("Error: " + e.getMessage());
    }
  }
}

πŸ“– 3. Reading from a File

Use FileReader along with BufferedReader to read text files. Common use case: reading test data or config values.

import java.io.BufferedReader;
import java.io.FileReader;

public class ReadFromFile {
  public static void main(String[] args) {
    try {
      BufferedReader br = new BufferedReader(new FileReader("testdata.txt"));
      String line;
      while ((line = br.readLine()) != null) {
        System.out.println(line);
      }
      br.close();
    } catch (Exception e) {
      System.out.println("Error: " + e.getMessage());
    }
  }
}

πŸ—‘️ 4. Deleting a File

Sometimes you may want to delete old logs or temp files at the end of test execution. Use File.delete().

import java.io.File;

public class DeleteFile {
  public static void main(String[] args) {
    File file = new File("testdata.txt");
    if (file.delete()) {
      System.out.println("Deleted file: " + file.getName());
    } else {
      System.out.println("Failed to delete file.");
    }
  }
}

πŸ“Š 5. Reading and Writing Excel Files (Apache POI)

Most test cases use Excel for input data. You can read/write Excel files using Apache POI library.

πŸ“¦ Required JARs:

  • poi-xxx.jar
  • poi-ooxml-xxx.jar
  • poi-ooxml-schemas-xxx.jar
  • xmlbeans-xxx.jar

You can download these from: https://poi.apache.org/download.html

✅ Read Excel File

import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.xssf.usermodel.*;

public class ReadExcel {
  public static void main(String[] args) throws Exception {
    FileInputStream fis = new FileInputStream(new File("data.xlsx"));
    XSSFWorkbook workbook = new XSSFWorkbook(fis);
    XSSFSheet sheet = workbook.getSheet("Sheet1");
    String value = sheet.getRow(0).getCell(0).getStringCellValue();
    System.out.println("Cell Value: " + value);
    workbook.close();
  }
}

✅ Write to Excel File

import java.io.FileOutputStream;
import org.apache.poi.xssf.usermodel.*;

public class WriteExcel {
  public static void main(String[] args) throws Exception {
    XSSFWorkbook workbook = new XSSFWorkbook();
    XSSFSheet sheet = workbook.createSheet("Sheet1");
    sheet.createRow(0).createCell(0).setCellValue("QA Rocks!");
    FileOutputStream fos = new FileOutputStream("data.xlsx");
    workbook.write(fos);
    workbook.close();
    fos.close();
  }
}

πŸ’‘ Real-Time QA Use Cases

  • Read data from Excel sheet for test inputs
  • Write test results to Excel for client reporting
  • Delete old logs before fresh test execution
  • Read .txt or config files for environment setup

πŸ§ͺ Practice Questions

  • Write a program to read a file and count how many words it has
  • Write a program to append logs to a file after each test case
  • Create a file with dynamic name based on date/time
  • Write test data to Excel from an ArrayList
  • Read a 2D Excel sheet and print all rows and columns
  • Delete all ".log" files from a directory using Java

πŸ”š Conclusion

Whether you're working on Selenium, API, or Backend testing — understanding file handling in Java gives you an extra edge as a QA engineer. It makes your automation flexible and powerful. Master the basics, practice regularly, and slowly integrate file handling into your real-world test scripts.

If you liked this post, don’t forget to share it with your QA community and drop a comment with your feedback or doubts!

Comments

Popular posts from this blog

How Selenium Works for Web Automation

What is the Scope of Manual Testing?

Master Java Strings for QA Engineers: A Practical Guide