Kosta 클라우드 네이티브 애플리케이션 개발 (CNA) 교육 19일차

2024. 12. 12. 17:05Kosta 클라우드 네이티브 어플리케이션 개발(CNA) 교육

JAVA IO

 

package com.lec;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;

public class chap14_IO {

	public static void main(String[] args) {

		chap14_IO io = new chap14_IO();
//		io.io_1();
//		io.io_2();
		io.io_3();

	}
	
	public void io_3() {
		
		String inPath = "C:\\IT\\STS3917\\STS3_WORKSPACE\\pij_java\\src\\com\\lec\\in.txt";
		String outPath = "C:\\IT\\STS3917\\STS3_WORKSPACE\\pij_java\\src\\com\\lec\\out.txt";
		
		try {
			BufferedInputStream bis = new BufferedInputStream(new FileInputStream(inPath)) ;
			BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(outPath));
			
			
			int data = 0;
			
			while ((data = bis.read()) != -1) {

				System.out.println(data);

				bos.write(data);
			}
			
			System.out.println(bos);
			bis.close();
			bos.close();
			
			
			
		} catch(IOException e) {
			System.out.println("3번 오류");
		}

	
	}

	public void io_2() {
		
		String inPath = "C:\\IT\\STS3917\\STS3_WORKSPACE\\pij_java\\src\\com\\lec\\in.txt";
		String outPath = "C:\\IT\\STS3917\\STS3_WORKSPACE\\pij_java\\src\\com\\lec\\out.txt";
		

		try {
					
			FileInputStream bais = new FileInputStream(inPath);		
			FileOutputStream baos = new FileOutputStream(outPath);
			
			
			int data = 0;
			
			while ((data = bais.read()) != -1) {

				System.out.println(data);

				baos.write(data);
			}
			
			System.out.println(baos);
			bais.close();
			baos.close();
			
		}catch (FileNotFoundException e) {
			System.out.println("2-1번 오류");
		}catch (IOException e) {
			System.out.println("2-2번 오류");
		}
		
	}

	public void io_1() {
		try {
			byte[] inBarr = { 0, 1, 2, 3, 4 };
			byte[] outBarr = null;

			ByteArrayInputStream bais = new ByteArrayInputStream(inBarr);
			ByteArrayOutputStream baos = new ByteArrayOutputStream();

			int data = 0;

			while ((data = bais.read()) != -1) {

				System.out.println(data);

				baos.write(data);
			}

			outBarr = baos.toByteArray();
			System.out.println(Arrays.toString(outBarr));
			bais.close();
			baos.close();

		} catch (IOException e) {
			System.out.println("오류");
		}
	}

}

 

package com.lec;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.UUID;

public class chap14_IO02 {
	
	class MyClass{
		int a = 0;
	}
	
	public static void main(String... args) {
		
		UUID uid = UUID.randomUUID();
		int a =UUID.randomUUID().variant();
		
		EmpVo2 evo = new EmpVo2(7777,"SMITH",1000);
		
		String path = "C:\\IT\\STS3917\\STS3_WORKSPACE\\pij_java\\src\\com\\lec\\out.txt";
		
	
		
		try {
			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path));
			oos.writeObject(evo);
			oos.close();
		} catch (IOException e) {
			
			e.printStackTrace();
		}
		
		try {
			ObjectInputStream ios = new ObjectInputStream(new FileInputStream(path));
			
			try {
				EmpVo2 evoResult = (EmpVo2)ios.readObject();
				System.out.println("input = " + evoResult);
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			ios.close();
		} catch (IOException e) {
			
			e.printStackTrace();
		}

	}
}

 

package chat;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class MyClient {
    private static final int SERVER_PORT = 9999;
    private static final String SERVER_IP = "127.0.0.1";

    public static void main(String[] args) {
        Socket socket = null;
        
        try {
        	
        	Scanner sc = new Scanner(System.in);
        	String message = null;
        	
        	socket = new Socket(SERVER_IP, SERVER_PORT);
            System.out.println("서버 연결 성공");
            PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
            BufferedReader br = new BufferedReader(
               new InputStreamReader(socket.getInputStream()));
                  
            String myMsg = null;
        	while(true) {
        		 
                 // 클라이언트 메시지 전송               
                 System.out.print("메시지 입력: ");
                 myMsg = sc.nextLine();
                 if(myMsg.equals("exit")) {
                	 socket.close();
                 }
                 pw.println(myMsg);
                 
                 // 서버 응답 수신        
                 System.out.println("서버: " + br.readLine());
        	}
           
        	
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

package chat;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class MyService {
	private static final int SERVER_PORT = 9999;

	public String findStr(String getStr) {

		String signUp = "회원가입은 알아서 하십쇼";

		String findObject = "물건은 저기에 있습니다";

		String account = "계정과 관련된 곳은 이곳으로 이동하십시오";

		Map<String, String> map = new HashMap<>();

		map.put("회원가입", signUp);
		map.put("물건", findObject);
		map.put("계정", account);

		if (map.containsKey(getStr)) {
			return (map.get(getStr));
		} else {
			return "없음";
		}
	}

	public static void main(String[] args) {
    	
    	MyService returnStr = new MyService();
    	
    	
        ServerSocket serverSocket = null;
        
        try {
            serverSocket = new ServerSocket(SERVER_PORT);
            System.out.println("서버 실행");
            
            Socket socket = null;
            socket = serverSocket.accept();
            System.out.println("클라이언트 입장 (" + socket.getInetAddress() + ")");
            BufferedReader br = new BufferedReader(
                    new InputStreamReader(socket.getInputStream()));
                PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
                Scanner sc = new Scanner(System.in);
                
              String clientStr = null;
            while(true) {
                           
                // 클라이언트로부터 메시지 수신
            	
            	clientStr =  br.readLine();
            	 System.out.println("클라이언트: "+ clientStr);
            	         
            		 if(!returnStr.findStr(clientStr).equals("없음")) {
            			 System.out.print("서버 응답: ");
            			 pw.println( returnStr.findStr(returnStr.findStr(clientStr)) );
            		 }else {
            			 System.out.print("서버 응답: ");
            			 pw.println( "없어" );
            		 }
              
                // 서버 응답 입력
              
//                System.out.print("서버 응답: ");
//                pw.println( sc.nextLine() );
                                
            }
     
        } catch (IOException e) {
            e.printStackTrace();
        } 
       
    }
}