inputstream retrieval added

This commit is contained in:
tritty 2018-05-28 00:59:22 +05:30 committed by Tritty
parent 3623391466
commit d2301be966
2 changed files with 32 additions and 3 deletions

View File

@ -5,6 +5,9 @@ import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -68,7 +71,7 @@ public class ClassPathResourceReader {
} }
/** /**
* Utility method to list contents ofa file. * Utility method to list contents of a file.
* *
* @param fileResource * @param fileResource
* @return * @return
@ -83,11 +86,30 @@ public class ClassPathResourceReader {
fileData.append(dataLine); fileData.append(dataLine);
dataLine = bufReader.readLine(); dataLine = bufReader.readLine();
} }
bufReader.close();
fileReader.close(); fileReader.close();
return fileData.toString(); return fileData.toString();
} }
/**
* Utility method to list contents of a stream
*
* @param ipStream
* @return
* @throws IOException
*/
public String listResourceContentsUsingInputStream(InputStream ipStream) throws IOException {
BufferedReader bufReader = new BufferedReader(new InputStreamReader(ipStream, "UTF-8"));
String dataLine = bufReader.readLine();
StringBuilder fileData = new StringBuilder();
while (null != dataLine) {
fileData.append(dataLine);
dataLine = bufReader.readLine();
}
bufReader.close();
return fileData.toString();
}
public Resource getSampleFile() { public Resource getSampleFile() {
return resourceFile; return resourceFile;
} }

View File

@ -18,7 +18,7 @@ public class SpringResourceTest {
@Autowired @Autowired
private ClassPathResourceReader classPathResourceReader; private ClassPathResourceReader classPathResourceReader;
static final String testData = "This is a sample text to demonstrate usage of Spring Resource."; static final String testData = "This is a sample text to demonstrate usage of Spring Resource.";
@Test @Test
@ -54,4 +54,11 @@ public class SpringResourceTest {
String fileData = classPathResourceReader.listResourceContentsUsingFile(classPathResourceReader.retrieveFileUsingResourceUtils()); String fileData = classPathResourceReader.listResourceContentsUsingFile(classPathResourceReader.retrieveFileUsingResourceUtils());
assertEquals(testData, fileData); assertEquals(testData, fileData);
} }
@Test
public void whenResourceAsStream_thenReadSuccessful() throws IOException {
Resource resource = classPathResourceReader.retrieveResourceUsingResourceLoader();
String fileData = classPathResourceReader.listResourceContentsUsingInputStream(resource.getInputStream());
assertEquals(testData, fileData);
}
} }