We are already discuss Java CIFS Client Library here.
Now reading .xml file using smb Requirement:-
1. PersonDetails.xml reside in server or another machine
2. Download jcifs-1.1.11.jar add in your lib folderArun 2009-08-21T08:43:02 Kumar 15000 5000
Constant.java
package com.javastoreroom.mytestapp;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
public class Constant {
public static final String USER_NAME = "domain\\username";
public static final String PASSWORD = "domain\\password";
public static final String FILE_SOURCE_PATH = "smb://IP-Address/folderName/PersonDetails.xml"; // The local network's broadcast address of target file or directory. SmbFile URLs
}
SmbConnect.java
package com.javastoreroom.mytestapp;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class SmbConnect {
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(SmbConnect.class);
public static void main(String... args) {
new SmbConnect().readXMLFiles();
}
public void readXMLFiles() {
try {
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, Constant.USER_NAME, Constant.PASSWORD); //This class stores and encrypts NTLM user credentials.
SmbFile sFile = new SmbFile(Constant.FILE_SOURCE_PATH , auth); //This class represents a resource on an SMB network.
try {
if(sFile.getName().endsWith(".xml")){
InputStream inputStream = sFile.getInputStream();
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputStream);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("person");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
log.info("|===================Here is person details===================|");
log.info(" name -- >" + eElement.getElementsByTagName("name").item(0).getTextContent());
log.info(" joining date -- > " + eElement.getElementsByTagName("join-date").item(0).getTextContent());
log.info(" last name -- > " + eElement.getElementsByTagName("last-name").item(0).getTextContent());
log.info(" basic salary -- > " + eElement.getElementsByTagName("basic").item(0).getTextContent());
log.info(" hra allowance -- > " + eElement.getElementsByTagName("HRA").item(0).getTextContent());
log.info("|===========================EOF=============================|");
}
}
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
after executing SmbConnect.java following output are shown :-

DONE :)

No comments:
Post a Comment