से फ़ाइल प्राप्त करें मेरे पास गुलाब नोड में "rose.gif" डालने के लिए निम्न कोड है। लेकिन मैं रिपोजिटरी से फ़ाइल कैसे प्राप्त करूं? संपत्ति पर: नोड, और से फ़ाइल के लिए सामग्री "डेटा jcr":जेसीआर फ़ाइल नोड
Node roseNode = session.getRootNode().getNode("wiki:encyclopedia/wiki:entry[1]/");
File file = new File("rose.gif");
MimeTable mt = MimeTable.getDefaultTable();
String mimeType = mt.getContentTypeFor(file.getName());
if (mimeType == null) mimeType = "application/octet-stream";
Node fileNode = roseNode.addNode(file.getName(), "nt:file");
System.out.println(fileNode.getName());
Node resNode = fileNode.addNode("jcr:content", "nt:resource");
resNode.setProperty("jcr:mimeType", mimeType);
resNode.setProperty("jcr:encoding", "");
resNode.setProperty("jcr:data", new FileInputStream(file));
Calendar lastModified = Calendar.getInstance();
lastModified.setTimeInMillis(file.lastModified());
resNode.setProperty("jcr:lastModified", lastModified);
//retrieve file and output as rose-out.gif
File outputFile = new File("rose-out.gif");
FileOutputStream out = new FileOutputStream(outputFile);
हाय रैंडल, जो मैं चाहता हूं वह आउटपुटस्ट्रीम है और इनपुट स्ट्रीम नहीं है। क्या यह संभव है? – Steve
मैंने इसे समझ लिया। इनपुट इनपुट को बाइट द्वारा आउटपुटस्ट्रीम बाइट में परिवर्तित कर दिया। – Steve
2.0 के लिए, मुझे लगता है कि जब आप w/बाइनरी ऑब्जेक्ट (http://www.day.com/specs/jcr/2.0/5_Reading.html) करते हैं तो आपको Binary.dispose() को कॉल करना होगा। –