Created
May 12, 2024 07:27
-
-
Save sandeepnegi1996/be1ad1097748197941eb95af0c944471 to your computer and use it in GitHub Desktop.
Streaming in java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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