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.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.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.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.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