목차
- 리눅스 자바 javac로 java 소스코드 컴파일 및 실행하기 이전 포스팅 참고 학습
- 자바 List에서 특정 값 찾아내어 삭제하기 이전 포스팅 참고 학습
- 자바 Thread에서 변수 공유시 Lock 처리하기 이전 포스팅 참고 학습
- 자바 사용자에게 디렉토리 경로 입력 받기 예제
- 자바 ls -al 쉘 명령으로 입력받은 디렉토리 내 모든 파일 출력 예제(ProcessBuilder)
리눅스 자바 javac로 java 소스코드 컴파일 및 실행하기 이전 포스팅 참고 학습
이전 포스팅에서는 리눅스에서 자바 소스 코드를 컴파일하고 실행하는 방법을 알아보았습니다. 먼저 javac를 사용하여 소스 코드를 컴파일합니다. 예를 들어, YourJavaFile.java라는 자바 소스 코드 파일을 컴파일하면 실행할 수 있는 클래스 파일이 생성됩니다. 이처럼 리눅스 환경에서 javac 명령어로 java 소스코드를 컴파일하여 실행 파일로 만드는 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.08.10 - [Linux] - [Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
자바 List에서 특정 값 찾아내어 삭제하기 이전 포스팅 참고 학습
이전 포스팅에서는 자바의 List 자료구조 내에서 특정 값을 찾아 삭제하는 방법과 예제에 대해 알아보았습니다. List에서 값을 삭제하려면 remove() 메서드를 사용합니다. 예를 들어, List 자료구조에서 특정 값을 찾아 삭제하고 싶을 때 삭제 메소드를 사용합니다. 만약 자바에서 특정 값 찾아내어 삭제 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.08.16 - [Java] - [Java/Linux] List에서 특정 값 찾아내고 삭제 처리 예제(최소값, 최대값)
자바 Thread에서 변수 공유시 Lock 처리하기 이전 포스팅 참고 학습
마지막으로 이전 포스팅에서는 자바에서 멀티 스레딩 환경에서 변수를 공유할 때 발생할 수 있는 문제를 해결하기 위해 Lock 처리하는 방법을 학습하였습니다. synchronized 키워드나 Lock 인터페이스를 활용하여 스레드 간 공유 변수에 안전하게 접근할 수 있습니다. 이를 통해 스레드 간 경쟁 조건과 데드락을 방지할 수 있습니다. 만약 자바에서 Lock 처리 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.08.16 - [Java] - [Java/Linux] thread간 변수 공유시 Lock 처리 예제(ReentrantLock)
자바 사용자에게 디렉토리 경로 입력 받기 예제
자바에서 사용자로부터 디렉토리 경로를 입력 받는 방법은 Scanner 클래스를 사용할 수 있습니다. 아래는 사용자로부터 디렉토리 경로를 입력 받는 예제입니다. 이 예제에서는 사용자로부터 입력 받은 경로를 File 객체로 생성하여 해당 경로가 디렉토리인지 확인합니다.
import java.util.Scanner;
import java.io.File;
public class example {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Directory Path: ");
String path = scanner.nextLine();
File directory = new File(path);
if (directory.exists() && directory.isDirectory()) {
System.out.println("Path vaild");
} else {
System.out.println("Path invaild");
}
scanner.close();
}
}
자바 ls -al 쉘 명령으로 입력받은 디렉토리 내 모든 파일 출력 예제(ProcessBuilder)
자바에서 ls -al과 같은 쉘 명령을 실행하려면 ProcessBuilder 클래스를 사용할 수 있습니다. 아래는 입력 받은 디렉토리 내의 모든 파일과 디렉토리를 출력하는 예제입니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.io.File;
public class example {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Directory Path: ");
String path = scanner.nextLine();
File directory = new File(path);
if (directory.exists() && directory.isDirectory()) {
System.out.println("Path vaild");
} else {
System.out.println("Path invaild");
return;
}
scanner.close();
try {
ProcessBuilder processBuilder = new ProcessBuilder("ls", "-al", path);
Process process = processBuilder.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("ls command success.");
} else {
System.err.println("ls command failed error code: " + exitCode);
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}