आप इसे कई तरीकों से कर सकते हैं, लेकिन PreparedStatement.setBinaryStream
शायद सबसे अच्छा तरीका है।
public void saveFileToDatabase(File file) {
InputStream inputStream = new FileInputStream(file);
Connection conn = ...;
PreparedStatement pS = conn.prepareStatement(...);
...
pS.setBinaryStream(index, inputStream, (int) file.length());
...
pS.executeUpdate();
}
(ध्यान दें कि सरलता के लिए मैंने Connection
को बंद करने के लिए आवश्यक कोई भी प्रयास/पकड़ सामग्री शामिल नहीं की थी , PreparedStatement
और InputStream
, लेकिन आपको ऐसा करना होगा।)
इस तरह से, डेटा को फ़ाइल से डेटाबेस में एक ही बार में मेमोरी में लोड किए बिना स्ट्रीम किया जाएगा।