Guys, I am sure this snippet will help you a lot when you do sharepoint REST integration to read files
import java.io.File; import java.io.InputStream; import java.io.StringWriter; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpHeaders; import org.apache.http.HttpStatus; import org.apache.http.auth.AuthScope; import org.apache.http.auth.NTCredentials; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicHeader; import org.apache.http.util.EntityUtils; public class SharePointClientAuthentication { public static void main(String[] args) throws Exception { CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(AuthScope.ANY), new NTCredentials("username", "password", "domain", "DNS")); CloseableHttpClient httpclient = HttpClients.custom() .setDefaultCredentialsProvider(credsProvider).build(); try { /*****To get all the items from folder****/ HttpGet httpget = new HttpGet("http://yourdomain/salesmarketing/_api/web/Lists/GetbyTitle('Marketing%20Information')/items"); // Set request header parameters Header header = new BasicHeader(HttpHeaders.ACCEPT, "application/json;odata=verbose"); httpget.setHeader(header); System.out.println("Executing request URI " + httpget.getRequestLine()); // Execute Client Request long startTime = System.currentTimeMillis(); CloseableHttpResponse response = httpclient.execute(httpget); long endTime = System.currentTimeMillis(); long duration = (endTime - startTime); System.out.println("duration in ms >>>>>>>>>>>>>" + duration); System.out.println("Status : -" + response.getStatusLine()); // Printing Response JSON HttpEntity entity = response.getEntity(); InputStream st = entity.getContent(); StringWriter writer = new StringWriter(); IOUtils.copy(st, writer); String content = writer.toString(); // JSON Response System.out.println("JSON Response " + content); // The real request, reuse authentication String file = "/salesmarketing/Marketing Information/ABC.docx"; // source String targetFolder = "C:/TEMP"; HttpGet request2 = new HttpGet("http://yourdomain/salesmarketing/_api/Web /GetFileByServerRelativeUrl('/salesmarketing/Marketing%20Information/ABC.docx')/$value"); CloseableHttpResponse response2 = null; response2 = httpclient.execute(request2); int rc = response2.getStatusLine().getStatusCode(); String reason = response2.getStatusLine().getReasonPhrase(); if (rc == HttpStatus.SC_OK) { System.out.println("Writing " + file + " to " + targetFolder); File f = new File(file); File ff = new File(targetFolder, f.getName()); // target // writing the byte array into a file using Apache Commons IO FileUtils.writeByteArrayToFile(ff, EntityUtils.toByteArray(response2.getEntity())); } else { throw new Exception("Problem while receiving " + file + " reason : " + reason + " httpcode : " + rc); } // Release all resources held by the httpEntity EntityUtils.consume(response.getEntity()); EntityUtils.consume(response2.getEntity()); } finally { httpclient.close(); } } }