It's all about Java: about
Showing posts with label about. Show all posts
Showing posts with label about. Show all posts

Saturday, 20 September 2025

File IO operations with java programming language

File Management in OS

File management includes files and folders creation, copy and paste operations, reading the file and writing into files and deleting the files and folders 

And also reading meta data about files and folders. It may include file free space, occupied space and read/write permissions etc.

These above operations are considered as file management and managed by respective operating system.

GUI that represents Windows File Manager



File Management with Java 


Though Java is platform independent, programming language depends on native file IO resources of operating system.

This is possible with the Java API support. These API are categorized into 2 types.

  1. Readers and Writers: Readers and writers does the IO operations, character by character
  2. InputStream and OutputStream: Where as InputStream and OutputStream does IO operations byte by byte

Below are simple Java programs that demonstrates different File IO operations.

Program for creating directory

package com.allabtjava.fileio;


import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.nio.file.Path;


public class FileManager {


public FileManager() {


}


public void makeDirectory(String path, String dirName) {

Path dirPath = Path.of(path, dirName);

File dir = new File(dirPath.toString());

boolean isCreated = dir.mkdir();

if (isCreated)

System.out.println("A new directory with the name " + dir.getPath() + " created!");

}

        public static void main(String args[]) throws IOException {

FileManager manager = new FileManager();

manager.makeDirectory("e:\\", "students");

}

}



Program for creating file:

package com.allabtjava.fileio;


import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.nio.file.Path;


public class FileManager {


public FileManager() {


}


public void createFile(String dirPath, String dirName, String fileName) throws IOException {

Path filePath = Path.of(dirPath, dirName, fileName);

File file = new File(filePath.toString());

boolean isFileCreated = file.createNewFile();

if (isFileCreated)

System.out.println("A new file with the name " + file.getPath() + " created!");

}

        public static void main(String args[]) throws IOException {

FileManager manager = new FileManager();

manager.createFile("e:\\", "students", "student_1");

}

}


Listing all files available in given folder

package com.allabtjava.fileio;


import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.nio.file.Path;


public class FileManager {


public FileManager() {


}

     public void listFiles(String dirPath, String dirName) {
Path dir = Path.of(dirPath, dirName);
File file = new File(dir.toString());
String[] listOfAllFiles = file.list();
System.out.println("List of all Files in the directory/folder - " + dirName + ": ");
for (String fileName : listOfAllFiles) {
System.out.println(fileName);
}
}


        public static void main(String args[]) throws IOException {

FileManager manager = new FileManager();

manager.listFiles("e:\\", "pinterest");

}


}



Delete a directory

package com.allabtjava.fileio;


import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.nio.file.Path;


public class FileManager {


public FileManager() {


}

     public void deleteDirectory(String dirPath, String dirName) {

Path dir = Path.of(dirPath, dirName);

File dirToBeDeleted = new File(dir.toString());

if (dirToBeDeleted.exists()) {

boolean isDeleted = dirToBeDeleted.delete();

if(isDeleted)

System.out.println("File deleted!");

else

System.out.println("Could not delete file. File is being used by other program or application.");

}

}


        public static void main(String args[]) throws IOException {

FileManager manager = new FileManager();

manager.deleteDirectory("e:\\", "pinterest");

}


}



Read a file content


package com.allabtjava.fileio;


import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.nio.file.Path;


public class FileManager {


public FileManager() {


}

     public void readFile(String dirPath, String dirName, String fileName) throws IOException {

Path filePath = Path.of(dirPath, dirName, fileName);

File file = new File(filePath.toString());

FileReader reader = new FileReader(file.getAbsolutePath());

BufferedReader bufferedRead = new BufferedReader(reader);

String line = null;

while((line = bufferedRead.readLine()) != null) {

System.out.println(line);

}

bufferedRead.close();

}


        public static void main(String args[]) throws IOException {

FileManager manager = new FileManager();

manager.readFile("e:\\", "pinterest", "demo.txt");

}


}


Write content into file



package com.allabtjava.fileio;


import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.nio.file.Path;


public class FileManager {


public FileManager() {


}

     public void writeToFile(String dirPath, String dirName, String fileName) throws IOException {

Path filePath = Path.of(dirPath, dirName, fileName);

File file = new File(filePath.toString());

FileWriter writer = new FileWriter(file);

BufferedWriter bufferedWriter = new BufferedWriter(writer);

bufferedWriter.write("allabtjava.com is a web site, has information about java technologies \n");

bufferedWriter.write("This article explains about, files and IO management with java programming language.");

bufferedWriter.close();

}


        public static void main(String args[]) throws IOException {

FileManager manager = new FileManager();

manager.writeToFile("e:\\", "pinterest", "demo.txt");

}


}

Monday, 29 January 2018

Swing: JFrame usage demo

This post helps in understanding usage of JFrame class with an example


Swing toolkit categorizes components into 2 types. They are:

  • Containers
  • Controls

Containers allows Controls to be arranged on them. JPanel, JFrame and JDialog are few which are frequently used.

Controls are components like Buttons, labels, tables etc. These controls are arranged on containers using different layout managers.

All Swing class names starts with J stands for Java which symbolizes swing is pure java! 

Layout Managers:

Layout manager is responsible for laying out controls on containers according to the business requirement. Example layout managers are BorderLayout, GridLayout, GridBagLayout and FlowLayout.

Few points about JFrame:
  • JFrame is considered as a main window of the application.for almost all swing based applications
  • All other controls and containers are created as child components of JFrame
  • JFrama holds special components like  Menu bar, Tool bar etc  

Example program

1 import javax.swing.JFrame;
2 import javax.swing.SwingUtilities;
3
4 /**
5  *
6  * Simple class to demonstrate JFrame container of swing toolkit
7  *
8  * @author Nagasharath
9  *
10 */
11public class FrameDemo extends JFrame {
12
13 private final String title = "It's all abt java!...  ";
14
15 /**
16 * set properties of the main window. Title, size of frame and position/location
17 */
18 public FrameDemo() {
19 this.setTitle(title);
20 this.setSize(300, 200);
21 this.setLocationRelativeTo(null);
22 initComponents();
23 }
24
25 /**
26 * It is used in future articles for instantiating controls like buttons etc.
27 * left empty for now.
28 */
29 private void initComponents() {
30 }
31
32 public static void main(String[] args) {
33
34 Runnable r = () -> {
35 FrameDemo demo = new FrameDemo();
36 demo.setVisible(true);
37 };
38 SwingUtilities.invokeLater(r);
39 }
40}
41


Line 1: Our class FrameDemo extends JFrame hence gets all benefits that JFrame possess    

Line 20: Sets the width 300 and height 200. How ever frame is re sizable at run time

Line 21:  Puts the frame at the center of the desktop monitor

Line 36: Unless call to setVisible(true), frame can not be seen at all.

Line 38: It is always good practice to call setVisible(true) in invokeLater().

Output on Win 10:

The look and feel we see below  is default which is same on all platforms 

This Look and feel can be changed using UIManager class. We see it in coming posts.  

      
JFrame with title


Popular posts

Atomicity with Java Programming Language

 Atomicity with Java What is Atomicity Atomicity, in computer science, is considered to be a property [ALL-OR-NOTHING], that the state of a ...