5 Ways To Convert Inputstream To String Inward Java
Thursday, August 16, 2018
Add Comment
InputStream to String Conversion Example
Converting InputStream to String inwards Java has drib dead really slow after introduction of Scanner degree inwards Java five as well as due to evolution of several opened upwardly origin libraries similar Apache park IOUtils as well as Google Open origin guava-libraries which provides first-class back upwardly to convert InputStream to String inwards Java program. nosotros often ask to convert InputStream to String while working inwards Java for instance if you lot are reading XML files from InputStream as well as later on performing XSLT transformation on it or if InputStream is reading information from text file or text input Source as well as nosotros either desire to log Strings inwards log file or desire to operate on whole String. Before Java five you lot would possess got to write lots of boiler plate code to read String business yesteryear line or byte yesteryear byte depending upon whether you lot are using either BufferedReader or non but equally I said since JDK five added Scanner for reading input, its fairly slow to convert InputStream into String.
Before Converting whatever InputStream or ByteStream into String don't forget to render character encoding or charSet which tells Java Which characters to facial expression from those streams of bytes. inwards the absence of right grapheme encoding you lot mightiness alter the output because same bytes tin live on used to stand upwardly for unlike grapheme inwards unlike encoding. Another affair to proceed inwards heed is that if you lot don't render grapheme encoding, Default grapheme encoding inwards Java volition live on used which tin live on specified from System belongings "file.encoding" or "UTF-8" if file.encoding is non specified. In this Java tutorial nosotros volition run into five unlike instance of converting InputStream to String inwards Java both yesteryear using measure JDK libraries as well as using opened upwardly origin libraries.
How to convert InputStream to String inwards Java – five Examples
here are unlike ways to convert InputStream to String inwards Java, foremost nosotros volition run into close uncomplicated agency of reading InputStream equally String.
InputStream to String - Using Java five Scanner
constructor which convey an InputStream, a grapheme encoding as well as a delimiter to read String from InputStream. Here nosotros possess got used delimiter equally "\A" which is boundary check for commencement of the input equally declared inwards java.util.regex.Pattern as well as that's why Scanner is returning whole String shape InputStream. I often usage this technique to read input from user inwards Java using System.in which is close mutual instance of InputStream inwards Java, but equally demonstrated hither this tin likewise live on used to read text file inwards Java.
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
/**
* Java programme instance to demonstrate How to convert InputStream into String yesteryear using JDK
* Scanner utility. This programme volition piece of occupation Java five onwards equally Scanner was added inwards Java 5.
*/
public class InputStreamTest {
public static void main(String args[]) throws FileNotFoundException {
FileInputStream fis = new FileInputStream("c:/sample.txt");
String inputStreamString = new Scanner(fis,"UTF-8").useDelimiter("\\A").next();
System.out.println(inputStreamString);
}
}
Output:
This String is read from InputStream yesteryear changing InputStream to String inwards Java.
import java.io.FileNotFoundException;
import java.util.Scanner;
/**
* Java programme instance to demonstrate How to convert InputStream into String yesteryear using JDK
* Scanner utility. This programme volition piece of occupation Java five onwards equally Scanner was added inwards Java 5.
*/
public class InputStreamTest {
public static void main(String args[]) throws FileNotFoundException {
FileInputStream fis = new FileInputStream("c:/sample.txt");
String inputStreamString = new Scanner(fis,"UTF-8").useDelimiter("\\A").next();
System.out.println(inputStreamString);
}
}
Output:
This String is read from InputStream yesteryear changing InputStream to String inwards Java.
If you lot desire to run into how an wrong grapheme encoding completely changes the String only alter the grapheme encoding shape "UTF-8" to "UTF-16" as well as you lot run into Chinese(may be) characters instead of English.
Output:
?????????????!???????????!??????^(4)????????
?????????????!???????????!??????^(4)????????
Convert InputStream to String - Plain quondam JDK4 Example
If you lot nonetheless ask to practice it on obviously quondam Java on JDK4 without including whatever additional dependency inwards your PATH as well as Classpath than hither is quick instance using BufferedReader in Java, Remember you lot tin likewise practice this yesteryear reading byte yesteryear byte from InputStream but that's really deadening then see using BufferedReader for amend functioning fifty-fifty if you lot code on JDK4 . For to a greater extent than functioning tips run into my post service 4 JDBC functioning tips inwards Java program. Let’s run into instance of converting InputStream to String using BufferedReader inwards Java.
/**
* Java programme to demonstrate How to read InputStream equally String
* Java programme to demonstrate How to read InputStream equally String
* using BufferedReader as well as StringBuilder inwards Java.
* This is quondam as well as measure agency of converting an InputStream into String inwards Java
*/
public static void main(String args[]) throws FileNotFoundException, UnsupportedEncodingException, IOException {
FileInputStream fis = new FileInputStream("c:/sample.txt");
StringBuilder inputStringBuilder = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
String business = bufferedReader.readLine();
while(line != null){
inputStringBuilder.append(line);inputStringBuilder.append('\n');
business = bufferedReader.readLine();
}
System.out.println(inputStringBuilder.toString());
}
Output:
This String is read from InputStream yesteryear changing InputStream to String inwards Java.
second line
* This is quondam as well as measure agency of converting an InputStream into String inwards Java
*/
public static void main(String args[]) throws FileNotFoundException, UnsupportedEncodingException, IOException {
FileInputStream fis = new FileInputStream("c:/sample.txt");
StringBuilder inputStringBuilder = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
String business = bufferedReader.readLine();
while(line != null){
inputStringBuilder.append(line);inputStringBuilder.append('\n');
business = bufferedReader.readLine();
}
System.out.println(inputStringBuilder.toString());
}
Output:
This String is read from InputStream yesteryear changing InputStream to String inwards Java.
second line
This is expert obviously quondam Java method of converting InputStream to String without adding whatever extra dependency but recall its converting \r to \n because nosotros are reading business yesteryear line, which inwards close cases fine.
Read InputStream to String - Using Apache IOUtils library
As I said before at that spot are many opened upwardly origin library inwards Java which makes coding lot to a greater extent than easier than whatever other language. Here is code instance for How to convert InputStream to String inwards Java using Apache IOUtils
/**
* Example of How to read InputStream into String yesteryear using Apache IOUtils library.
* Nice as well as laid clean agency of getting InputStream equally String inwards Java
*/
FileInputStream fis = new FileInputStream("c:/sample.txt");
String StringFromInputStream = IOUtils.toString(fis, "UTF-8");
System.out.println(StringFromInputStream);
* Example of How to read InputStream into String yesteryear using Apache IOUtils library.
* Nice as well as laid clean agency of getting InputStream equally String inwards Java
*/
FileInputStream fis = new FileInputStream("c:/sample.txt");
String StringFromInputStream = IOUtils.toString(fis, "UTF-8");
System.out.println(StringFromInputStream);
Isn't it a compact agency of converting InputStream to String inwards Java, only 1 business of code as well as that does convey help of grapheme encoding equally well..
InputStream to String - Using Google's guava-libraries
Google has opened upwardly origin its ain laid of Java libraries they usage for Java development within Google. it has lots of utility role as well as likewise complements Apache park package. Here is a quick agency of converting InputStream to String using Google libraries:
String stringFromStream = CharStreams.toString(new InputStreamReader(fis, "UTF-8"));
Regarding dependency, You ask to include guava library i.e. guava-11.0.1.jar inwards your project classpath. hither is total code example:
import com.google.common.io.CharStreams;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
/**
* How to convert InputStream into String inwards Java using Google's Guava library
*/
public class InputStreamToString{
public static void main(String args[]) throws UnsupportedEncodingException, IOException {
FileInputStream fis = new FileInputStream("c:/sample.txt");
String stringFromStream = CharStreams.toString(new InputStreamReader(fis, "UTF-8"));
System.out.println(stringFromStream);
}
}
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
/**
* How to convert InputStream into String inwards Java using Google's Guava library
*/
public class InputStreamToString{
public static void main(String args[]) throws UnsupportedEncodingException, IOException {
FileInputStream fis = new FileInputStream("c:/sample.txt");
String stringFromStream = CharStreams.toString(new InputStreamReader(fis, "UTF-8"));
System.out.println(stringFromStream);
}
}
How to read InputStream into String amongst IOUtils.copy as well as StringWriter class
java.io.StringWriter is around other convenient agency of reading writing Strings as well as yesteryear using IOUtils.copy() you lot tin copy contents shape InputStream to reader, Here is a consummate code instance of reading InputStream equally String using StringWriter:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import org.apache.commons.io.IOUtils;
/**
* Java Program to demonstrate reading of InputStream equally String
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import org.apache.commons.io.IOUtils;
/**
* Java Program to demonstrate reading of InputStream equally String
* using StringWriter as well as Apache IOUtils
*/
public class InputStreamToStringConversion{
public static void main(String args[]) throws FileNotFoundException, UnsupportedEncodingException, IOException {
FileInputStream fis = new FileInputStream("c:/sample.txt");
StringWriter author = new StringWriter();
String encoding = "UTF-8";
IOUtils.copy(fis, writer, encoding);
System.out.println(writer.toString());
}
}
*/
public class InputStreamToStringConversion{
public static void main(String args[]) throws FileNotFoundException, UnsupportedEncodingException, IOException {
FileInputStream fis = new FileInputStream("c:/sample.txt");
StringWriter author = new StringWriter();
String encoding = "UTF-8";
IOUtils.copy(fis, writer, encoding);
System.out.println(writer.toString());
}
}
That's all on converting InputStream to String inwards Java yesteryear using measure heart as well as mortal coffee library as well as yesteryear using opened upwardly origin Apache park IOUtils as well as Google's guava libraries. Don't forget Character encoding when converting bytes to String which is instance hither likewise brand a convenient alternative equally sometime adding additional library for 1 functionality is non the best option. allow us know if you lot know whatever other agency of converting InputStream to String inwards Java.
Further Learning
Complete Java Masterclass
How to parse XML file inwards Java using DOM parser
0 Response to "5 Ways To Convert Inputstream To String Inward Java"
Post a Comment