Java I/O Streams का परिचय

Java में डेटा इम्पोर्ट करना

Anthony Markham

VP Quant Developer

Stream की मूल बातें

  • Streams डेटा की एक-तरफ़ा पाइप होती हैं, क्रम FIFO (First In, First Out) होता है
  • Byte streams कच्चे बाइनरी डेटा पर काम करती हैं (InputStream/OutputStream)
  • Character streams टेक्स्ट को ऑटोमैटिक एनकोडिंग के साथ संभालती हैं (Reader/Writer)

Streams का निरूपण

Java में डेटा इम्पोर्ट करना

Byte Streams

  • बाइनरी डेटा के लिए उपयोगी (images, audio, आदि)
  • बेस abstract क्लास: InputStream (पढ़ना), OutputStream (लिखना)
  • प्रमुख implementations: FileInputStream, FileOutputStream
  • मुख्य मेथड: read() bytes लौटाता है, write() bytes लिखता है

बाइनरी फाइलें: images और audio

Java में डेटा इम्पोर्ट करना

Byte Streams

try (FileInputStream fis = new FileInputStream("data.bin")) {

byte[] buffer = new byte[1024]; int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) { // Process bytes in buffer
System.out.println("Read " + bytesRead + " bytes"); }
} catch (Exception e) { System.err.println("Error: " + e.getMessage()); }
Java में डेटा इम्पोर्ट करना

Character Streams

  • खास तौर पर टेक्स्ट डेटा के लिए डिज़ाइन की गई
  • बेस abstract क्लास: Reader (टेक्स्ट पढ़ना), Writer (टेक्स्ट लिखना)
  • प्रमुख implementations: FileReader, FileWriter, BufferedReader, BufferedWriter
  • उपयोगी मेथड: readLine() पूरी लाइन पढ़ता है

CSV फाइलें

Java में डेटा इम्पोर्ट करना

Character Streams

try (BufferedReader reader = new BufferedReader(new FileReader("data.csv"))) {
    String line;

while ((line = reader.readLine()) != null) { // Process each line System.out.println(line); }
} catch (Exception e) { System.err.println("Error: " + e.getMessage()); }
Java में डेटा इम्पोर्ट करना

Buffered Streams - performance

  • डिस्क ऑपरेशंस कम कर के परफॉर्मेंस बेहतर होती है
  • byte streams के लिए BufferedInputStream और BufferedOutputStream से पढ़ें/लिखें
  • character streams के लिए BufferedReader, BufferedWriter से पढ़ें/लिखें
    • पूरी लाइन पढ़ने के लिए readLine()
Java में डेटा इम्पोर्ट करना

Buffered Streams - performance

try (BufferedReader reader = new BufferedReader(new FileReader("data.csv"))) {
    // Header processing
    String header = reader.readLine();
    System.out.println("Header: " + header);

// Efficient data reading String line; int count = 0; while ((line = reader.readLine()) != null) { count++; } System.out.println("Read " + count + " data rows"); } catch (Exception e) { System.out.println("Error: " + e.getMessage()); }
Java में डेटा इम्पोर्ट करना

Stream chaining

  • चेन की हर stream खास फ़ंक्शनैलिटी जोड़ती है
  • आम पैटर्न: FileInputStream -> InputStreamReader -> BufferedReader
  • हमेशा सबसे बाहरी stream बंद करें (बाकी अपने-आप बंद हो जाएँगी)
Java में डेटा इम्पोर्ट करना

Stream chaining

import java.nio.charset.StandardCharsets;
try (

BufferedReader reader = new BufferedReader(
new InputStreamReader(
new FileInputStream("data.csv"),
StandardCharsets.UTF_8 )
)
) { String line; while ((line = reader.readLine()) != null) { System.out.println(line);} } catch (Exception e) { System.err.println("Error: " + e.getMessage()); }
Java में डेटा इम्पोर्ट करना

Exception handling

  • I/O operations के लिए बेहद ज़रूरी
  • आम exceptions: IOException, FileNotFoundException
  • exceptions पकड़ने के लिए हमेशा try-with-resources का उपयोग करें
Java में डेटा इम्पोर्ट करना

Exception handling

import java.util.ArrayList;
import java.util.List;
public static List<String> readLines(String filePath) throws IOException {

List<String> lines = new ArrayList<>(); try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { String line; while ((line = reader.readLine()) != null) { lines.add(line); } } // Stream automatically closed here return lines;
}
Java में डेटा इम्पोर्ट करना

अभ्यास करते हैं!

Java में डेटा इम्पोर्ट करना

Preparing Video For Download...