Advanced File Handling (File I/O Streams)

 Advanced file handling in Java involves working with file I/O streams to read from and write to files efficiently. File I/O streams provide a way to handle input and output operations on files byte by byte or character by character. Java provides several classes for file I/O operations, such as `FileInputStream`, `FileOutputStream`, `BufferedReader`, and `BufferedWriter`. Let's explore these classes and how to use them for advanced file handling in Java:


1. Reading from Files

Using FileInputStream and BufferedReader

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadFromFile {

    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.txt");
             BufferedReader br = new BufferedReader(new InputStreamReader(fis))) {

            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


2. Writing to Files

Using FileOutputStream and BufferedWriter

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class WriteToFile {
    public static void main(String[] args) {
        try (FileOutputStream fos = new FileOutputStream("output.txt");
             BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos))) {

            String content = "Hello, world!";
            bw.write(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


3. Binary File I/O

Using FileInputStream and FileOutputStream

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class BinaryFileIO {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("input.bin");
             FileOutputStream fos = new FileOutputStream("output.bin")) {
            int data;
            while ((data = fis.read()) != -1) {
                fos.write(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


4. Buffered File I/O

Using BufferedInputStream and BufferedOutputStream

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedFileIO {
    public static void main(String[] args) {
        try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("input.txt"));
             BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("output.txt"))) {

            int data;
            while ((data = bis.read()) != -1) {
                bos.write(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


Conclusion

Advanced file handling in Java involves working with file I/O streams to efficiently read from and write to files. By using classes like `FileInputStream`, `FileOutputStream`, `BufferedReader`, and `BufferedWriter`, you can perform advanced file operations such as reading/writing binary data, using buffered I/O for better performance, and more. Understanding how to use these classes effectively is essential for handling files in Java applications.

Nenhum comentário:

Postar um comentário

Internet of Things (IoT) and Embedded Systems

The  Internet of Things (IoT)  and  Embedded Systems  are interconnected technologies that play a pivotal role in modern digital innovation....