Skip to main content

Posts

Convert Source to String

import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import javax.xml.transform.Source; import javax.xml.transform.sax.SAXSource; import org.xml.sax.InputSource; public class DataSourceTest { public static void main(String[] args) throws IOException { // created Source InputSource inputSource = new InputSource(new StringReader( " \n \n \n ")); Source source = new SAXSource(inputSource); // read Source SAXSource saxSource = (SAXSource) source; InputSource inputSourceReader = saxSource.getInputSource(); Reader reader = inputSourceReader.getCharacterStream(); BufferedReader buffereRreader = new BufferedReader(reader); String read = null; while ((read = buffereRreader.readLine()) != null) { System.out.println(read); } } }
Recent posts

RMI Server and Client implementation

1. Interface interface extends Remote class every method throws RemoteException package com.rmi; import java.rmi.Remote; import java.rmi.RemoteException; import java.util.Date; public interface RmiInterface extends Remote { Date getDate() throws RemoteException; } 2. RMI server implementation class extends UnicastRemoteObject class implements custom RmiInterface class creates RMI registry and binds it to localhost and specified port package com.rmi.server; import java.net.InetAddress; import java.net.UnknownHostException; import java.rmi.AlreadyBoundException; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.rmi.server.UnicastRemoteObject; import java.util.Date; import com.rmi.RmiInterface; public class RMIServer extends UnicastRemoteObject implements RmiInterface { protected RMIServer() throws RemoteException, AlreadyBoundException, UnknownHostException { String registryHost = InetAdd

Deploying Axis2 web service as ROOT application on Tomcat

By default Axis2 services are available on http://host:8080/axis2/services/*. If you want to remove axis2/services part from the service endpoint and access your service by http://host:8080/serviceName/* 1. Overide default Axis2 servlet mapping services in web.xml file. AxisServlet /serviceName/* 2. Remove an application name value by deploying axis2 implementation (from war distribution axis2-1.X.X-war.zip ) as ROOT application. Info: War distribution contains application with above structure: axis2-web META-INF org WEB-INF     classes     conf     lib     modules     services         put here *.aar files to deploy WS     web.xml (manually created) web.xml file Apache-Axis2 AxisServlet Apache-Axis Servlet org.apache.axis2.transport.http.AxisServlet 1 AxisAdminServlet Apache-Axis AxisAdmin Se

JAXB marshall and unmarshall

write xsd schema file(s) use xjc tool to compile xsd schema file(s) into java classes create a java object marshall the object into a file unmarshall the object from a file 1. drink.xsd schema file <xs:element name="drink"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string" /> <xs:element name="alcohol" type="AlcoholEnum" minOccurs="0" maxOccurs="10" /> <xs:element name="ice" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:element> <xs:simpleType name="AlcoholEnum"> <xs:restriction base="xs:string"> <xs:enumeration value="vodka" /> <xs:enumeration value="rum" /> <xs:enumeration value="whiskey" /> <xs:enume

Java read file (entire or line by line)

Four ways to read a file in java. I have tested an execution time of them using 1,37 MB text file with 108825 lines. Result of tests is in a first comment of each method and is specified in milliseconds. 1 Read entire file at once 1.1 FileInputStream with read() // execution time: 7 - 8 ms ByteArrayOutputStream buffer = new ByteArrayOutputStream(); File file = new File("C:\\test.txt"); InputStream is = new FileInputStream(file); byte[] temp = new byte[1024]; int read; while ((read = is.read(temp)) >= 0) { buffer.write(temp, 0, read); } byte[] data = buffer.toByteArray(); System.out.println(new String(data)); PS: remember that read(byte[] b) doesn't do what you think it does -> link 1.2 FileInputStream with readFully() // execution time: 11 - 12 ms File file = new File("C:\\test.txt"); DataInput input = new DataInputStream(new FileInputStream(file)); byte[] bufferArray = new byte[(int) file.length()]; input.readFully(bufferArray); String value = new

scala Hello World

The code below prints Hello World! Hello.scala file (a name of file doesn't matter) object HelloWorld { def main(args: Array[String]) { println("Hello World!") } } Key word object is used to create a singleton object. To run this script use scala interpretor (check scala command line tools ).