JAVA/기본 이론

JAVA/기본 이론

[JAVA] IllegalStateException / IllegalArgumentException / IllegalAccessException 개념 정리

💡 IllegalArgumentException 이란? - 사용자가 값을 잘못 입력한 경우에 발생하는 예외 - 사용자의 잘못으로 발생하는 예외를 대표함. 💡 IllegalStateException 이란? - 사용자가 값을 제대로 입력했으나, 소스코드가 값을 처리할 준비가 안된 경우에 발생하는 예외 ex ) 로또 게임이 종료된 상태에서 사용자가 추가 진행을 위해 금액을 입력하는 경우, 이미 로또 게임 로직이 종료되어 사용자의 입력에 대응할 수 없음 💡 IllegalAccessException 이란? - 오류에 나와있는 해당 클래스를 호출하는 데 에러가 발생한 것이다. - 클래스에 접근이 허락되지 않았다는 의미로 class 앞쪽에 public을 추가하면 해결 가능. - RuntimeException이기 때문..

JAVA/기본 이론

JAVA | Data Stream

DataOutputStream / DataInputStream - 자바의 데이터 타입을 전송할 수 있는 스트림 - Java만 해석할 수 있는 데이터 타입이기 때문에 다른 언어로 만들어진 프로그램에서는 해당 파일을 사용할 수 없다는 단점이 있다. - 데이터를 저장했던 순서대로 꺼내야 한다. import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class E11_DataStream { public static void main(String[] args) { try ( F..

JAVA/기본 이론

JAVA | Print Stream

PrintStream - 문자를 훨씬 편리하게 출력할 수 있는 기능을 추가한 클래스 - println(), printf(), print() 등을 사용할 수 있다. - BufferedStream, BufferedWriter -> 성능 증가 - PrintStream, PrintWriter -> 개발자의 편리함 증가 import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.nio.charset.Charset; public class E10_PrintStream { public static void main(String[] args) { try ..

JAVA/기본 이론

JAVA | Buffered Stream

Buffered - 데이터를 하나씩 전송하는 것이 아니라 모아서 한 번에 전송하는 것 (ex : 인터넷 동영상) - BufferedReader/Writer : 버퍼를 사용하면서 char단위로 읽고 쓰는 클래스 - BufferedInput/OutputStream : 버퍼 + byte단위 - 버퍼 기능을 알아서 적용해주는 스트림 클래스들은 Buffered라는 이름이 붙는다. import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream;..

JAVA/기본 이론

JAVA | File class

java.io.File - 파일에 대한 정보를 담을 수 있는 클래스 - 인스턴스를 생성할 때 실제 파일로부터 정보를 받아온다. - 해당 인스턴스에 담긴 정보를 통해 파일 시스템을 직접 제어할 수 있다. 파일 시스템 - 하드 디스크에 저장된 데이터들을 손쉽게 관리할 수 있도록 설정한 일부 구역 - 파일 시스템의 내용을 디렉토리 구조로 볼 수 있게 하는 것이 탐색기 import java.io.File; public class E08_File { public static void main(String[] args) { // 윈도우즈에서 경로는 대소문자를 구분하지 않는다. File f1 = new File("files/test.txt"); File f2 = new File("files/"); File f3 = ..

JAVA/기본 이론

JAVA | Charset

Charset - ASCII 코드까지는 모든 Charset이 동일하지만 그 이후부터는 각 회사마다 다른 문자코드를 사용한다. - MS949 : 윈도우즈에서 사용하는 마이크로소프트의 문자셋 - EUC-KR : 이클립스가 기본적으로 사용하는 문자셋 (유효한 한국어만 사용, 뛿됋쀍 금지) - UTF-8 : 가장 표준이 되는 문자셋으로 모든 문자를 포함하고 있다. 용량이 크다. - Writer는 해당 문자를 어떤 Charset으로 byte화(인코딩) 할지 설정해야 한다. - Reader는 파일의 데이터를 읽으면서 어떤 Charset으로 char화(디코딩) 할지 설정해야 한다. import java.io.FileReader; import java.io.FileWriter; import java.io.IOExcep..

JAVA/기본 이론

JAVA | 문자 Stream(Reader/Writer)

InputStream / OutputStream - byte 단위로 데이터를 입/출력하는 클래스 - 데이터를 byte로 분해해서 사용하기 때문에 다소 불편할 수 있음 Reader / Writer - char 단위로 데이터를 입/출력하는 클래스 - byte를 char로 알아서 합치거나 char를 byte로 알아서 분해해준다. import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; public class E06_CharacterStream { public static void main..

JAVA/기본 이론

JAVA | File Input Stream

File Input Stream - File로부터 byte로 입력받은 후 byte 단위로 출력할 수 있는 클래스 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class E05_FileInputStream { public static void main(String[] args) { try { FileInputStream in = new FileInputStream("files/emailList.txt"); // readAllBytes() : 모든 데이터들을 byte[]로 읽는다. byte[] allData = in.readAllBytes(); for (int i =..

로아다
'JAVA/기본 이론' 카테고리의 글 목록