[JAVA] java.io 패키지 - 스트림으로 배우는 자바 입출력
·
STUDY/JAVA
스트림 데이터 생산자 또는 데이터 소비자와 프로그램 사이 데이터 흐름순서가 있는 일련의 데이터흐름으로 정해진 방향으로 전달되고 순차적으로 접근할수있다.   java.io 패키지의 스트림 클래스처리단위처리방향입력스트림출력스트림기본스트림바이트스트림InputStream,FileInputStream,ByteArrayInputStreamOutputStream,FileOutputStream,ByteArrayOutputStream문자스트림Reader,FileReader,CharArrayReader,StringReaderWriter,FileWriter,CharArrayWriter,StringWriter보조스트림바이트스트림BufferedInputStream,DataInputStream,ObjectInputStramBuf..
[JAVA] 자바 파일 권한 변경 방법
·
STUDY/JAVA
자바 파일 업로드시 권한 변경 방법1. Runtime.getRuntime().exec() 사용import java.io.IOException;public class ChmodExample { public static void main(String[] args) { String destFile = "/path/to/your/file"; // 수정할 파일 경로 try { // chmod -R 777 명령어 실행 Process process = Runtime.getRuntime().exec("chmod -R 777 " + destFile); process.waitFor(); // 명령어 실행 완료 대기 ..
[Java] 기본형 매개변수, 참조형 매개변수, 참조형 반환값
·
STUDY/JAVA
Java에서 기본형 매개변수, 참조형 매개변수, 참조형 반환값 사용하기 기본형 매개변수 vs 참조형 매개변수자바에서 메서드를 호출할 때 매개변수로 지정한 값은 메서드의 매개변수에 복사됩니다.하지만, 매개변수의 타입에 따라 복사되는 내용이 다릅니다.기본형 매개변수변수의 값이 복사됩니다.즉, 메서드 안에서 매개변수 값을 변경해도 원본 변수의 값에는 영향을 미치지 않습니다.class Data { int x;}class aaa { public static void main(String[] args) { Data d = new Data(); d.x = 10; System.out.println("main() : x = " + d.x); change(d.x..
[JAVA] 자바 타이머 Timer, TimerTask
·
STUDY/JAVA
타이머는 자바 스레드처럼 일종의 스레드 클래스 입니다.하지만 스레드는 하나부터 열까지 우리가 다루어야 했다면 타이머는 사용자가 사용하기 편리하도록 편의성을 제공하는 클래스 입니다. 1. Timer/TimerTask import java.util.Timer;import java.util.TimerTask;public class TimerTaskExample { public static void main(String[] args) { Timer timer = new Timer(); TimerTask timertask = new TimerTask(){ @Override public void run() { ..
[JAVA] 스트림 총정리
·
STUDY/JAVA
내부반복과 외부반복외부 반복• 컬렉션이나 배열의 원소를 다룰 때, 원소의 반복 처리를 프로그램에서 명시적으로 제어하는 방식 원소를 프로그램에서 선언된 변수로 복사한 후, 작업을 처리함 for, 향상된 for, while, do-while, Iterator 등을 이용한 반복 작업이 외부 반복에 해당됨 List names = Arrays.asList("Kim", "Lee", "Park");for (String name : names) { System.out.println(name);}Iterator iterator = names.listIterator();while (iterator.hasNext()){ System.out.println(iterator.next());} 내부 반복과 forEach 메소드()..
[JAVA] 비어있는 문자열(String) 체크하는 방법
·
STUDY/JAVA
자바에서 비어있는 문자열(String) 체크하는 방법자바에서 문자열이 비어있는지 확인하는 방법은 여러 가지가 있습니다. 가장 일반적으로 사용되는 방법은 다음과 같습니다.1. isEmpty() 메서드 사용:Java 7부터 도입된 isEmpty() 메서드는 문자열이 비어있는지 여부를 확인하는 가장 간편하고 직관적인 방법입니다. 이 메서드는 문자열의 길이가 0인 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.String str = "";boolean isEmpty = str.isEmpty();if (isEmpty) { System.out.println("문자열은 비어 있습니다.");} else { System.out.println("문자열은 비어 있지 않습니다.")..
[JAVA] e.printStackTrace to String
·
STUDY/JAVA
e.printStackTrace() 자바(Java) 프로그래밍에서 예외(Exception)가 발생했을 때 예외 정보를 출력하는 메서드입니다. 주로 디버깅이나 예외 추적을 위해 사용됩니다. 이 메서드는 예외가 발생한 위치부터 호출 스택(call stack)에 있는 모든 메서드들과 예외 정보를 출력합니다. 이를 통해 어떤 메서드에서 예외가 발생했는지, 그리고 호출된 메서드들 사이에서 어떤 경로를 따라 예외가 전파되었는지를 파악할 수 있습니다. e.printStackTrace() 메서드는 반환 값이 없으며, 단순히 예외 정보를 출력하는 기능을 수행합니다. 따라서 이 메서드의 결과 타입은 void입니다. 결과로 어떤 값을 반환하지 않습니다. 대신, 예외 정보가 표준 출력 또는 지정된 출력 스트림에 출력됩니다. ..
[JAVA] 소켓 개념과 자바 예제 코드
·
STUDY/JAVA
소켓이란 프로그램이 네트워크에서 데이터를 주고받을 수 있도록 네트워크 환경에 연결할 수 있게 만들어진 연결부로, 일반적으로 TCP/IP 프로토콜을 이용한다. OSI 7계층 중 응용 계층에 속하는 프로세스들은 데이터 송수신을 위해 반드시 소켓을 거쳐 전송 계층으로 데이터를 전달해야한다. 즉, 소켓은 엔드포인트이다.(엔드포인트: 통신의 시작점과 끝점을 의미) 소켓은 Protocol, IP, Port 세 가지 요소로 구성된다. - Protocol : 데이터 전송을 위한 규칙을 정의 - IP : 네트워크 상에서 각 기기를 구분하기 위한 주소 - Port : 프로세스 간의 통신을 구분하기 위한 번호 이 세 가지 요소를 통해 소켓은 네트워크 상에서 동작하는 두 개의 프로그램 간의 통신을 가능하게 한다. 예를 들어,..