Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save sandeepnegi1996/be1ad1097748197941eb95af0c944471 to your computer and use it in GitHub Desktop.
Save sandeepnegi1996/be1ad1097748197941eb95af0c944471 to your computer and use it in GitHub Desktop.
Streaming in java
Simple java program to read from files using FileReader
- reading from a file using FileReader
```java
File file=null;
FileReader fileReader=null;
StringBuilder sb=new StringBuilder();
try {
file = new File("src/main/java/com/vksviit/patterns/factorydesignpattern/streaming/sample.txt");
fileReader = new FileReader(file);
int currentChar=0;
while( (currentChar=fileReader.read())!=-1) {
char ch = (char)currentChar;
sb.append(ch);
}
System.out.println(sb);
}catch (IOException e) {
e.printStackTrace();
} finally {
if (fileReader!=null) {
fileReader.close();
}
}
```
### 2. Simple java program to read from files using BufferedReader
```java
try {
System.out.println("reading from sameple 3 ");
bufferedReader = new BufferedReader( new InputStreamReader( new FileInputStream(("src/main/java/com/vksviit/patterns/factorydesignpattern/streaming/sample3.txt"))) );
String currentLine;
while( (currentLine =bufferedReader.readLine())!=null) {
System.out.println(currentLine);
}
}catch (IOException e) {
e.printStackTrace();
} finally {
if(bufferedReader!=null) {
bufferedReader.close();
}
}
System.out.println("reading from BufferedReader Ended ...");
```
### 3. Read from a file and write to another file using BufferedReader and BufferedWriter
```java
try (BufferedReader reader4 = new BufferedReader(new InputStreamReader(new FileInputStream("src/main/java/com/vksviit/patterns/factorydesignpattern/streaming/sample4.txt")), 16384);
BufferedWriter writer4 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("src/main/java/com/vksviit/patterns/factorydesignpattern/streaming/sample5.txt")), 16384)) {
String currentLine;
while ((currentLine = reader4.readLine()) != null) {
System.out.println(currentLine);
writer4.write(currentLine);
writer4.write("\n");
}
} catch (Exception e) {
e.printStackTrace();
}
```
### 4. Read from a file and create chunks of size 1000 and store it in the disk
```java
BufferedReader bufferedReader2=null;
BufferedWriter bufferedWriter2 = null;
try{
bufferedReader2= new BufferedReader(new InputStreamReader(new FileInputStream("src/main/java/com/vksviit/patterns/factorydesignpattern/streaming/sample6.txt"), StandardCharsets.UTF_8));
String currentString;
int count=0;
while ((currentString = bufferedReader2.readLine())!=null) {
if (count++ %10==0) {
//create new file
if (bufferedWriter2!=null) {
bufferedWriter2.close();
}
System.out.println("count is : " +count);
bufferedWriter2 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("src/main/java/com/vksviit/patterns/factorydesignpattern/streaming/chunks/smallChunk" + (count/10) +".txt" ),StandardCharsets.UTF_8));
System.out.println("chunk name is : "+ "smallChunk" +(count/10));
}
bufferedWriter2.write(currentString);
bufferedWriter2.newLine();
}
}catch (Exception e) {
e.printStackTrace();
}finally {
if (bufferedReader2!=null) {
bufferedReader2.close();
}
if (bufferedWriter2!=null) {
bufferedWriter2.close();
}
}
```
### 5. InputStream from an HTTPS Connection and Printing Server Certificates
```java
package com.vksviit.patterns.factorydesignpattern.streaming;
import javax.net.ssl.HttpsURLConnection;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.Certificate;
public class HttpConnectionReaders {
public static void main(String[] args) throws Exception {
URL yahooUrl = new URL("https://www.google.com/");
HttpsURLConnection connection = (HttpsURLConnection)yahooUrl.openConnection();
//print the content
print_content(connection);
print_certificates(connection);
}
public static void print_content(HttpsURLConnection connection) throws IOException {
BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
int counter=0;
while ((inputLine = bufferedReader.readLine()) != null) {
System.out.println(counter++);
// System.out.println(inputLine);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static void print_certificates(HttpsURLConnection connection) {
if (connection != null) {
try{
int responseCode = connection.getResponseCode();
System.out.println("responseCode is " +responseCode);
Certificate[] certificate = connection.getServerCertificates();
for (Certificate cert :certificate) {
// what is certificate type x.509 and Algorithm EC and RSA Ceritifactae Format X.509
System.out.println("Certificate Type : " + cert.getType());
System.out.println("Certificate Algorithm : " + cert.getPublicKey().getAlgorithm());
System.out.println("Certificate format : " + cert.getPublicKey().getFormat());
}
}catch (IOException exception) {
exception.printStackTrace();
}
}
}
}
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment