Search code examples
javastringweb-servicesdatahandler

Return String in DataHandler


I've created a web service in Java that returns a DataHandler. This has to be able to return a File, which works fine. But it should also be able to return a String. Any idea how I can transfer a String with a DataHandler?


Solution

  • JavaMail has a ByteArrayDataSource that you can use for this purpose:

    DataSource ds = new ByteArrayDataSource(theString, "text/plain; charset=UTF-8");
    DataHandler handler = new DataHandler(ds);
    

    The charset in the mime type determines what encoding it will use to convert the string to bytes.