How to handle files in Java for QA Engineers
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.
- 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
Post a Comment