Language/Java
-
2022-08-23 1. 방법 @Test public void arraytoSet() { String [] arr = {"a", "b", "c"}; Set arrSet = new HashSet(Arrays.asList(arr)); System.out.println(arrSet.toString());//[a, b, c] } 2. 응용 @Test public void arraytoSet() { String [] arr = {"a", "b", "c"}; Set arrSet = new HashSet(Arrays.asList(arr)); System.out.println(arrSet.toString()); String [] arr2 = {"d", "d", "a"}; for(int i = 0; i < arr2.le..
[Java] String [] 을 HashSet으로 변경하는 방법2022-08-23 1. 방법 @Test public void arraytoSet() { String [] arr = {"a", "b", "c"}; Set arrSet = new HashSet(Arrays.asList(arr)); System.out.println(arrSet.toString());//[a, b, c] } 2. 응용 @Test public void arraytoSet() { String [] arr = {"a", "b", "c"}; Set arrSet = new HashSet(Arrays.asList(arr)); System.out.println(arrSet.toString()); String [] arr2 = {"d", "d", "a"}; for(int i = 0; i < arr2.le..
2022.08.23 -
2022-08-04 우선 최초의 데이터는 String 형태로 받아 왔다고 가정한다. - 사용 라이브러리 import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; - 소스 코드 public void testjson () { //2 depth 위치에 제이슨 형태의 배열 존재하는 경우 String request = "{\r\n" + " \"resultData\": {\r\n" + " \"jsonList\": [\r\n" + " {\r\n" + " \"test1\": \"test\",\r\n..
[Java] JSONObject 에서 JSONArray 추출 및 반복문 구현하기2022-08-04 우선 최초의 데이터는 String 형태로 받아 왔다고 가정한다. - 사용 라이브러리 import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; - 소스 코드 public void testjson () { //2 depth 위치에 제이슨 형태의 배열 존재하는 경우 String request = "{\r\n" + " \"resultData\": {\r\n" + " \"jsonList\": [\r\n" + " {\r\n" + " \"test1\": \"test\",\r\n..
2022.08.04 -
2022-07-18 simple.JSONObject 라이브러리 사용시 jsonobject 를 map 형태의 객체로 변경하는 방법에 대하여 알아보자. - 소스코드 import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.json.JSONException; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class TestService { //json을 받아 hashmap으로 변환하는 메소드 pub..
[Java] JsonObject 를 Map(HashMap) 객체로 바꾸는 방법2022-07-18 simple.JSONObject 라이브러리 사용시 jsonobject 를 map 형태의 객체로 변경하는 방법에 대하여 알아보자. - 소스코드 import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.json.JSONException; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class TestService { //json을 받아 hashmap으로 변환하는 메소드 pub..
2022.07.18 -
2022-03-14 위 에러는 이미 톰캣 서버의 포트가 이미 할당되어 서버가 올려져 있는데 동일한 포트로 톰캣 서버를 올리려고 하니 발생하는 문제이다. 이를 해결하는 방법을 알아보자. - 방법 현재 IDE 에서 서버는 내려간 것으로 보이는데 이와 같은 증상이 발생한다면 콘솔 창에서 이를 해결해야 한다. Window + r -> cmd 창에 접속한다. 그리고 아래의 명령어를 입력한다. netstat -ano | find "톰켓포트번호" -- EX) netstat -ano | find "8080" 톰켓 포트를 변경하지 않는 이상 기본 포트 8080 포트로 잡혀있을 것이다. 톰켓 포트번호로 적힌 곳에 자신이 실행했던 포트번호를 입력하면 된다. 이후 5개의 항목이 보이게 되는데 아래와 같은 의미를 가진다. --..
[Java] Caused by: java.net.BindException: Address already in use: bind 해결방법2022-03-14 위 에러는 이미 톰캣 서버의 포트가 이미 할당되어 서버가 올려져 있는데 동일한 포트로 톰캣 서버를 올리려고 하니 발생하는 문제이다. 이를 해결하는 방법을 알아보자. - 방법 현재 IDE 에서 서버는 내려간 것으로 보이는데 이와 같은 증상이 발생한다면 콘솔 창에서 이를 해결해야 한다. Window + r -> cmd 창에 접속한다. 그리고 아래의 명령어를 입력한다. netstat -ano | find "톰켓포트번호" -- EX) netstat -ano | find "8080" 톰켓 포트를 변경하지 않는 이상 기본 포트 8080 포트로 잡혀있을 것이다. 톰켓 포트번호로 적힌 곳에 자신이 실행했던 포트번호를 입력하면 된다. 이후 5개의 항목이 보이게 되는데 아래와 같은 의미를 가진다. --..
2022.03.14 -
2022-02-15 - 방법 방법은 StringBuilder에서 제공하는 두 가지 메소드를 사용하는 것이다. 첫 번째 메소드는 lastIndexOf(String str) 이다. 이는 파라미터로 넘겨준 마지막 문자열의 인덱스를 리턴하게 된다. 아래의 예제를 보면 쉽게 이해될 것이다. StringBuilder result = new StringBuilder(""); result.append("(test1234),"); //쉼표의 위치는 10번째 이다. System.out.println("result.lastIndexOf" + result.lastIndexOf(",")); // 10을 리턴 다음 메소드는 deleteCharAt(int index)이다. 이는 지정된 인덱스에 존재하는 문자열을 제거하게 된다. l..
[Java] StringBuilder 로 제일 마지막 문자열 (제거/삭제)하는 방법2022-02-15 - 방법 방법은 StringBuilder에서 제공하는 두 가지 메소드를 사용하는 것이다. 첫 번째 메소드는 lastIndexOf(String str) 이다. 이는 파라미터로 넘겨준 마지막 문자열의 인덱스를 리턴하게 된다. 아래의 예제를 보면 쉽게 이해될 것이다. StringBuilder result = new StringBuilder(""); result.append("(test1234),"); //쉼표의 위치는 10번째 이다. System.out.println("result.lastIndexOf" + result.lastIndexOf(",")); // 10을 리턴 다음 메소드는 deleteCharAt(int index)이다. 이는 지정된 인덱스에 존재하는 문자열을 제거하게 된다. l..
2022.02.15 -
2021-01-12 특정 날짜에 이메일을 보내거나 문자를 보내는 등의 날짜를 계산하여 로직을 구성해야 하는 경우가 있다. 이러한 경우 어떻게 구현해야 하는지 알아보자. - 예제 @Test public void dayTest() { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); Date now = new Date(); Calendar cal = Calendar.getInstance(); //하루씩 더하는 루프 for(int i = 1; i
[Java] 자바 날짜 더하고 빼는 계산 방법 알아보기.2021-01-12 특정 날짜에 이메일을 보내거나 문자를 보내는 등의 날짜를 계산하여 로직을 구성해야 하는 경우가 있다. 이러한 경우 어떻게 구현해야 하는지 알아보자. - 예제 @Test public void dayTest() { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); Date now = new Date(); Calendar cal = Calendar.getInstance(); //하루씩 더하는 루프 for(int i = 1; i
2022.01.12 -
2021-12-31 자바 내에서 리눅스 서버에 접속하여 명령어를 실행하는 방법을 알아보자. - build.gradle // https://mvnrepository.com/artifact/com.jcraft/jsch implementation group: 'com.jcraft', name: 'jsch', version: '0.1.54' - import import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.Properties; import com.jcraft.jsch.Chann..
[Java] 자바에서 리눅스 서버 접속 및 명령어(커맨드) 실행 하는 법2021-12-31 자바 내에서 리눅스 서버에 접속하여 명령어를 실행하는 방법을 알아보자. - build.gradle // https://mvnrepository.com/artifact/com.jcraft/jsch implementation group: 'com.jcraft', name: 'jsch', version: '0.1.54' - import import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.Properties; import com.jcraft.jsch.Chann..
2021.12.31 -
2021-12-28 특정 서버에 접속하여, 원하는 정보를 가져와야 하는 경우가 있다. 이러한 경우 어떻게 해당 서버에 접근하여 정보를 가져오는지 알아보자. - import import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Properties; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; - 예제 public void sftpTest() { String requestContent..
[Java] 자바에서 SFTP / SSH 접속 하기(스프링)2021-12-28 특정 서버에 접속하여, 원하는 정보를 가져와야 하는 경우가 있다. 이러한 경우 어떻게 해당 서버에 접근하여 정보를 가져오는지 알아보자. - import import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Properties; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; - 예제 public void sftpTest() { String requestContent..
2021.12.28 -
2021-12-13 hashmap은 순서가 보장된 자료구조가 아니기 때문에 list와는 달리 루프를 돌면서 데이터를 가져올 수 없다. 때문에 iterator를 이용해 키값들을 추출하고, 해당 키값이 저장된 iterator를 이용해 hashmap의 전체 value 값들을 가져와야 한다. 오늘은 이와 같은 방법을 알아보자. - 예제 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest public class HashMapTest {..
[Java] HashMap에서 key값들 가져오기.2021-12-13 hashmap은 순서가 보장된 자료구조가 아니기 때문에 list와는 달리 루프를 돌면서 데이터를 가져올 수 없다. 때문에 iterator를 이용해 키값들을 추출하고, 해당 키값이 저장된 iterator를 이용해 hashmap의 전체 value 값들을 가져와야 한다. 오늘은 이와 같은 방법을 알아보자. - 예제 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest public class HashMapTest {..
2021.12.13 -
2021-09-18 사용자 및 회원의 정보중 아이디 비밀번호 휴대폰 번호 이메일 등... 민감한 정보들이 있다. 이러한 정보들을 암호화 없이 데이터베이스 저장할 경우 법적으로 문제가 될 수 있는데, 이러한 경우에 필요한 과정이 바로 암호화이다. 오늘은 많은 암호화 방법 중 간단하고 강력한 AES-256 암호화하는 과정을 빠르게 알아보도록 하자. - 예제 예제는 간단히 사용자의 아이디를 암호화하는 과정을 나타낸다. 여러 암호화 할 데이터를 리스트 형식으로 받아서 루프를 돌려 처리해도 되며, 사용방법은 본인의 자유이다. package com.win.test.controller; import java.util.Base64; import javax.crypto.Cipher; import javax.crypto...
[Java] AES-256으로 암호화 복호화 방법 알아보기2021-09-18 사용자 및 회원의 정보중 아이디 비밀번호 휴대폰 번호 이메일 등... 민감한 정보들이 있다. 이러한 정보들을 암호화 없이 데이터베이스 저장할 경우 법적으로 문제가 될 수 있는데, 이러한 경우에 필요한 과정이 바로 암호화이다. 오늘은 많은 암호화 방법 중 간단하고 강력한 AES-256 암호화하는 과정을 빠르게 알아보도록 하자. - 예제 예제는 간단히 사용자의 아이디를 암호화하는 과정을 나타낸다. 여러 암호화 할 데이터를 리스트 형식으로 받아서 루프를 돌려 처리해도 되며, 사용방법은 본인의 자유이다. package com.win.test.controller; import java.util.Base64; import javax.crypto.Cipher; import javax.crypto...
2021.09.18 -
2021-07-29 입출력 스트림 및 다양한 경우에 바이트 배열을 String으로 String을 바이트 배열로 변경해야 하는 경우가 종종 발생하게 된다. 오늘은 이와 같은 경우에 어떻게 처리하는 지를 알아보도록 하자. - 예제 예제의 순서는 이러하다 우선적으로 하나의 String 객체를 선언해주고 이를 byte 배열로 변경한 후 다시 String으로 변경하는 과정을 살펴보도록 하자. //문자열 객체 String str = "Hello World"; //문자열 객체를 바이트 배열로 변환 byte [] arrByte = a.getBytes(); // 변환된 객체를 다시 문자열로 변환 String result = new String(arrByte); System.out.println(result); // He..
[Java] Byte 배열을 String으로 바꾸는 법 / String을 Byte 배열로 바꾸는법2021-07-29 입출력 스트림 및 다양한 경우에 바이트 배열을 String으로 String을 바이트 배열로 변경해야 하는 경우가 종종 발생하게 된다. 오늘은 이와 같은 경우에 어떻게 처리하는 지를 알아보도록 하자. - 예제 예제의 순서는 이러하다 우선적으로 하나의 String 객체를 선언해주고 이를 byte 배열로 변경한 후 다시 String으로 변경하는 과정을 살펴보도록 하자. //문자열 객체 String str = "Hello World"; //문자열 객체를 바이트 배열로 변환 byte [] arrByte = a.getBytes(); // 변환된 객체를 다시 문자열로 변환 String result = new String(arrByte); System.out.println(result); // He..
2021.07.29 -
2021-03-22 - 정의 PrintWriter는 개체의 형식화된 표현을 텍스트 출력 스트림에 출력한다. 이 클래스는 PrintStream에 있는 모든 출력 메서드를 구현한다. 프로그램이 인코딩 되지 않은 바이트 스트림을 사용해야 하는 원시 바이트를 작성하는 메서드는 포함되어 있지 않다. ( 출처 자바 api ) PrintWriter는 writer를 상속받아 사용한다. 때문에 writer 대비 다양한 출력방식을 제공하게 된다. 구체적으로 어떤 메소드들을 구현하고 있는지 알아보도록 하자. - print / println / printf PrintWriter를 사용하는 가장 큰 이유중 하나인 print 관련 메서드이다. 특히 println 메서드는 자동 개행을 시켜주기 때문에 조금 더 쉬운 출력 코딩을 할..
[Java] java PrintWriter 출력 스트림에 대하여 알아보기.2021-03-22 - 정의 PrintWriter는 개체의 형식화된 표현을 텍스트 출력 스트림에 출력한다. 이 클래스는 PrintStream에 있는 모든 출력 메서드를 구현한다. 프로그램이 인코딩 되지 않은 바이트 스트림을 사용해야 하는 원시 바이트를 작성하는 메서드는 포함되어 있지 않다. ( 출처 자바 api ) PrintWriter는 writer를 상속받아 사용한다. 때문에 writer 대비 다양한 출력방식을 제공하게 된다. 구체적으로 어떤 메소드들을 구현하고 있는지 알아보도록 하자. - print / println / printf PrintWriter를 사용하는 가장 큰 이유중 하나인 print 관련 메서드이다. 특히 println 메서드는 자동 개행을 시켜주기 때문에 조금 더 쉬운 출력 코딩을 할..
2021.03.22 -
2021-03-14 Writer은 문자열을 출력하는 최상위 스트림이다. 다만 Writer는 추상 클래스이기 때문에 new 연산자를 통한 객체 생성이 불가하다. 때문에 자식 클래스를 매개 값을 받아 객체를 생성한다. 또한 자바 내에서 바로 문자열로 스트림을 바로 읽어 들일 수 없기 때문에 스트림 기반 출력 클래스 또는 System.out을 형 변환하여 사용해야 한다. - 선언 Writer wr = new OutputStreamWriter(System.out); 위와 같이 Writer 클래스의 자식 클래스를 매개값으로 받아야지만, new 연산자를 사용한 객체 생성이 가능하다. - 실행 ( String ) package wWriter; import java.io.IOException; import java.i..
[Java] java Writer 문자 출력 스트림에 대하여 알아보기.2021-03-14 Writer은 문자열을 출력하는 최상위 스트림이다. 다만 Writer는 추상 클래스이기 때문에 new 연산자를 통한 객체 생성이 불가하다. 때문에 자식 클래스를 매개 값을 받아 객체를 생성한다. 또한 자바 내에서 바로 문자열로 스트림을 바로 읽어 들일 수 없기 때문에 스트림 기반 출력 클래스 또는 System.out을 형 변환하여 사용해야 한다. - 선언 Writer wr = new OutputStreamWriter(System.out); 위와 같이 Writer 클래스의 자식 클래스를 매개값으로 받아야지만, new 연산자를 사용한 객체 생성이 가능하다. - 실행 ( String ) package wWriter; import java.io.IOException; import java.i..
2021.03.14 -
2021-03-07 - Call By Value 바로 결론부터 말하자면 자바는 Call By Value와 같은 특징을 가지고 있다. 아래의 코드를 보자. package StringCallByValue; public class Main { public static void stringSwap1(String str1, String str2) { String temp = str1; str1 = str2; str2 = temp; } //String 변수 2개를 전달받아 swap 해주는 간단한 메서드 선언 public static void main(String[] args) { String str1 = "aaa"; String str2 = "bbb"; System.out.println(str1 + " / " + ..
[Java] java는 Call By Value인가? Call By Reference인가?2021-03-07 - Call By Value 바로 결론부터 말하자면 자바는 Call By Value와 같은 특징을 가지고 있다. 아래의 코드를 보자. package StringCallByValue; public class Main { public static void stringSwap1(String str1, String str2) { String temp = str1; str1 = str2; str2 = temp; } //String 변수 2개를 전달받아 swap 해주는 간단한 메서드 선언 public static void main(String[] args) { String str1 = "aaa"; String str2 = "bbb"; System.out.println(str1 + " / " + ..
2021.03.07 -
2021-03-06 -정의 InputStream과 OutPutStream모두 스트림 클래스의 최상위 클래스로 모두 추상 클래스이다. 때문에 자신의 new 연산자로 는 객체를 생성할 수 없으며, 자식 클래스 및 System 객체 자체를 매개 값으로 받아야 한다. (전체 코드는 게시물 맨 아래에 올려두었다.) - 선언 InputStream is = System.in; OutputStream os = System.out; byte [] checkByte = new byte [100]; int size = -1; // 입력된 데이터가 더이상 있는지 여부를 체크할 // size 변수 -1일 경우 더 이상의 데이터가 없다. 선언부에서는 입력/출력 스트림을 모두 System.in /. out를 매개 값으로 받아 객체..
[Java] InputStream 과 OutputStream 간의 스트림 통신2021-03-06 -정의 InputStream과 OutPutStream모두 스트림 클래스의 최상위 클래스로 모두 추상 클래스이다. 때문에 자신의 new 연산자로 는 객체를 생성할 수 없으며, 자식 클래스 및 System 객체 자체를 매개 값으로 받아야 한다. (전체 코드는 게시물 맨 아래에 올려두었다.) - 선언 InputStream is = System.in; OutputStream os = System.out; byte [] checkByte = new byte [100]; int size = -1; // 입력된 데이터가 더이상 있는지 여부를 체크할 // size 변수 -1일 경우 더 이상의 데이터가 없다. 선언부에서는 입력/출력 스트림을 모두 System.in /. out를 매개 값으로 받아 객체..
2021.03.06 -
2021-03-01 - 정의 Reader는 FileReader / BufferedReader / InputStreamReader의 최상위 클래스이다. 오늘은 문자열 스트림을 받아들이는 이 Reader(문자열 기반 스트림 최상위 클래스) 클래스에 대하여 알아보도록 하자. - 특징 Reader reader = System.in; 기존의 inputstream은 System.in을 매개 값으로 받아 객체를 생성할 수 있었다. 하지만 Reader 클래스의 경우 문자열 스트림이기 때문에 직접적으로 inputstream을 받아들일 수 없고 반드시 문자열 스트림 타입으로 변환된 자식 클래스를 받아들여야지 객체가 생성된다. ( Reader 역시 추상 클래스이기 때문에 자기 자신을 new 연산자를 통해 객체를 생성할 수 ..
[Java] Class Reader 문자열입력 스트림 클래스 알아보기.2021-03-01 - 정의 Reader는 FileReader / BufferedReader / InputStreamReader의 최상위 클래스이다. 오늘은 문자열 스트림을 받아들이는 이 Reader(문자열 기반 스트림 최상위 클래스) 클래스에 대하여 알아보도록 하자. - 특징 Reader reader = System.in; 기존의 inputstream은 System.in을 매개 값으로 받아 객체를 생성할 수 있었다. 하지만 Reader 클래스의 경우 문자열 스트림이기 때문에 직접적으로 inputstream을 받아들일 수 없고 반드시 문자열 스트림 타입으로 변환된 자식 클래스를 받아들여야지 객체가 생성된다. ( Reader 역시 추상 클래스이기 때문에 자기 자신을 new 연산자를 통해 객체를 생성할 수 ..
2021.03.01 -
2021-02-25 - 정의 모든 출력 스트림의 최상위 클래스로 모든 바이트 기반의 입력 스트림은 OutputStream을 상속받아 사용한다. 자바 API에서의 정의는 아래와 같다. This abstract class is the superclass of all classes representing an output stream of bytes. An output stream accepts output bytes and sends them to some sink. Applications that need to define a subclass of OutputStream must always provide at least a method that writes one byte of output. 이 추상 클..
[Java] Class OutputStream 입력 스트림 클래스 알아보기.2021-02-25 - 정의 모든 출력 스트림의 최상위 클래스로 모든 바이트 기반의 입력 스트림은 OutputStream을 상속받아 사용한다. 자바 API에서의 정의는 아래와 같다. This abstract class is the superclass of all classes representing an output stream of bytes. An output stream accepts output bytes and sends them to some sink. Applications that need to define a subclass of OutputStream must always provide at least a method that writes one byte of output. 이 추상 클..
2021.02.25 -
2021-02-24 자바의 flatMapXXXX( ) 메서드는 기존의 스트림의 데이터를 다수의 데이터로 구성된 새로운 스트림으로 리턴하는 역할을 한다. 여기서의 플랫은 다양한 타입의 매개변수를 받을 수 있으며, 또한 flatMapToInt / flatMapToDouble 등과 같이 제네릭 타입을 특정 타입으로 매핑해주는 것 도 가능하다. 아래의 예제를 보자. - 예제 package sStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Stream; public class main { public static void main(String[] args) { List ..
[Java] 자바 Stream flatMapXXXX( ) 메소드를 알아보자.2021-02-24 자바의 flatMapXXXX( ) 메서드는 기존의 스트림의 데이터를 다수의 데이터로 구성된 새로운 스트림으로 리턴하는 역할을 한다. 여기서의 플랫은 다양한 타입의 매개변수를 받을 수 있으며, 또한 flatMapToInt / flatMapToDouble 등과 같이 제네릭 타입을 특정 타입으로 매핑해주는 것 도 가능하다. 아래의 예제를 보자. - 예제 package sStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Stream; public class main { public static void main(String[] args) { List ..
2021.02.24 -
2021-02-21 모든 입력 스트림의 최상위 클래스로 모든 바이트 기반의 입력 스트림은 InputStream을 상속받아 사용한다. 자바 API에서의 정의는 아래와 같다. - 출처 : java API ( 글의 내용의 바탕은 API 기준으로 작성되었다.) This abstract class is the superclass of all classes representing an input stream of bytes. Applications that need to define a subclass of InputStream must always provide a method that returns the next byte of input. ( 이 추상 클래스는 바이트의 입력 스트림을 나타내는 모든 클래스의 슈..
[Java] Class InputStream 입력 스트림 클래스 알아보기.2021-02-21 모든 입력 스트림의 최상위 클래스로 모든 바이트 기반의 입력 스트림은 InputStream을 상속받아 사용한다. 자바 API에서의 정의는 아래와 같다. - 출처 : java API ( 글의 내용의 바탕은 API 기준으로 작성되었다.) This abstract class is the superclass of all classes representing an input stream of bytes. Applications that need to define a subclass of InputStream must always provide a method that returns the next byte of input. ( 이 추상 클래스는 바이트의 입력 스트림을 나타내는 모든 클래스의 슈..
2021.02.21 -
2021-02-17 String의 Split과 달리 StringTokenizer는 문자열을 문자 자체로 구분하는데, 이를 토큰이라고 표현하기도 한다. 오늘은 이 StringTokenizer의 사용법을 알아보도록 하자. - 선언 StringTokenizer st = new StringTokenizer(name, " "); 자바 API중 하나의 클래스이기 때문에 객체로 만들어서 사용해 주어야 한다. 또한 선언 시 2가지의 매개 값을 주어야 하는데 첫 번째는 토큰화 하고 싶은 스트링 객체이고, 두 번째는 이러한 문자 토큰을 구분 지어줄 delimiter를 넣어준다. 사용할 예제는 아래와 같이 규칙적인 여러 공백을 가지는 문자열로 아래와 같다. String name = "aaa bbb ccc ddd fff"; ..
[Java] StringTokenizer 를 통한 문자열 나누기.2021-02-17 String의 Split과 달리 StringTokenizer는 문자열을 문자 자체로 구분하는데, 이를 토큰이라고 표현하기도 한다. 오늘은 이 StringTokenizer의 사용법을 알아보도록 하자. - 선언 StringTokenizer st = new StringTokenizer(name, " "); 자바 API중 하나의 클래스이기 때문에 객체로 만들어서 사용해 주어야 한다. 또한 선언 시 2가지의 매개 값을 주어야 하는데 첫 번째는 토큰화 하고 싶은 스트링 객체이고, 두 번째는 이러한 문자 토큰을 구분 지어줄 delimiter를 넣어준다. 사용할 예제는 아래와 같이 규칙적인 여러 공백을 가지는 문자열로 아래와 같다. String name = "aaa bbb ccc ddd fff"; ..
2021.02.17