Exam code:
import java.net.*; import java.io.*; public class CheckMail { public static void main(String s[]) { // // CheckMail [mailServer] [user] [password] // try { CheckMail t = new CheckMail(); int i = t.checkMyMail(s[0], s[1], s[2]); if (i==0) { System.out.println("No mail waiting."); } else { System.out.println ("There " + (i==1?"is " :"are ") + i + " message" +(i==1?"":"s")+ " waiting."); } } catch (Exception e) { e.printStackTrace(); } } private void send(BufferedWriter out, String s) throws IOException { out.write(s+"\n"); out.flush(); } private String receive(BufferedReader in) throws IOException { return in.readLine(); } private int checkMyMail (String server, String user, String pass) throws IOException { Socket s = new Socket(server, 110); BufferedReader in = new BufferedReader( new InputStreamReader(s.getInputStream())); BufferedWriter out = new BufferedWriter( new OutputStreamWriter(s.getOutputStream())); receive(in); send(out, "USER " + user); receive(in); send(out, "PASS " + pass); receive(in); return getNumberOfMessages(in, out); } public int getNumberOfMessages (BufferedReader in, BufferedWriter out) throws IOException { int i = 0; String s; send(out, "LIST"); receive(in); while((s = receive(in)) != null) { if (!(s.equals("."))) { i++; } else return i; } return 0; } }
Done! Happy Coding!
Related posts:
Java Program to Check whether Graph is a Bipartite using BFS
Assert an Exception is Thrown in JUnit 4 and 5
Getting Started with GraphQL and Spring Boot
Custom Thread Pools In Java 8 Parallel Streams
Java Program to Generate Random Numbers Using Middle Square Method
Generic Constructors in Java
Java Program to Implement Stack
Logging in Spring Boot
Creating a Web Application with Spring 5
Java Program to Generate Random Numbers Using Multiply with Carry Method
Java Program to Generate Date Between Given Range
Introduction to Spring Cloud Netflix – Eureka
Disable DNS caching
Java Program to Implement Find all Back Edges in a Graph
How to Break from Java Stream forEach
Configure a Spring Boot Web Application
Working with Tree Model Nodes in Jackson
Why String is Immutable in Java?
Spring Cloud – Bootstrapping
Phương thức forEach() trong java 8
Java Program to Implement PriorityQueue API
Java Program to Implement Fibonacci Heap
Java CyclicBarrier vs CountDownLatch
Java Program to Implement Doubly Linked List
Java Program to Represent Graph Using 2D Arrays
Java Program to Find Minimum Element in an Array using Linear Search
Map to String Conversion in Java
Multi Dimensional ArrayList in Java
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Java Program to Implement CopyOnWriteArrayList API
Java Program to Implement Hash Trie
Java Program to Generate Random Numbers Using Probability Distribution Function