목차
- 자바 소스 코드 컴파일 명령 javac 예제 이전 포스팅
- 자바 파일 데이터 읽기 예제 이전 포스팅
- 자바 파일의 특정 값 수정 예제 이전 포스팅
- 자바 파일을 열고 데이터 가져오기 및 출력 예제
- 자바 사용자에게 단어를 입력받아 파일에서 단어들의 위치 출력 예제
자바 소스 코드 컴파일 명령 javac 예제 이전 포스팅
오늘은 자바에서 텍스트 파일을 읽고 텍스트들 중에서 특정 단어들의 오프셋(위치)를 구하는 예제를 알아보도록 하겠습니다. 우리가 텍스트파일을 관리하다보면 특정 단어들을 치환하거나 위치를 찾아내어 가공을 해야할 필요가 생깁니다. 이를 위해 오프셋이란 단어를 알아야합니다. 오프셋이란 어떠한 데이터가 시작되는 첫 위치를 의미합니다. 오늘 예제를 실행해보기 위해서는 javac 명령어를 통해 자바 소스코드 컴파일 방법을 알아야합니다. 아직 컴파일 방법을 모르신다면 아래 링크를 참조하여 학습해주세요.
2023.08.10 - [Linux] - [Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
[Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
목차 리눅스 OpenJDK 8 설치 관련 예제 이전 포스팅 간단한 자바 예제 코드 설명 javac 활용 자바 소스 코드 컴파일 예제 자바 클래스 파일 실행 예제 리눅스 OpenJDK 8 설치 관련 예제 이전 포스팅 우선
salguworld.tistory.com
자바 파일 데이터 읽기 예제 이전 포스팅
이전 포스팅에서 로컬에 저장된 파일을 열고 데이터를 읽는 방법에 대해 포스팅한 적이 있습니다. 해당 내용을 참고하여 자바에서 텍스트를 읽어오는 방법을 학습해주세요.
2023.08.14 - [Java] - [Java/Linux] 파일 열고 바이트 출력 예제(FileInputStream)
[Java/Linux] 파일 열고 바이트 출력 예제(FileInputStream)
목차 javac 활용 자바 소스 코드 컴파일 예제 이전 포스팅 자바 바이트 배열 출력을 위한 system.out.println 예제 이전 포스팅 자바 파일 열고 바이트 값 가져오기 예제 바이트 값 출력 예제 javac 활용
salguworld.tistory.com
자바 파일의 특정 값 수정 예제 이전 포스팅
마지막으로 파일에서 특정 값들을 일괄적으로 수정하는 예제도 이전 포스팅에서 다룬적이 있습니다. 오프셋을 가져오는 것이 아니라 파일 내용 수정이 필요하시다면 아래 링크를 참고해서 진행하시면 좋을 것 같습니다.
2023.08.14 - [Java] - [Java/Linux] 파일의 특정 값을 수정하여 저장하는 예제
[Java/Linux] 파일의 특정 값을 수정하여 저장하는 예제
목차 javac 활용 자바 소스 코드 컴파일 예제 이전 포스팅 자바 파일 열고 데이터 가져오기 예제 이전 포스팅 자바 파일 복사하기 예제 이전 포스팅 자바 파일 바이트 값 가져와서 내용 수정 예제
salguworld.tistory.com
자바 파일을 열고 데이터 가져오기 및 출력 예제
아래는 자바에서 파일을 열고 데이터를 가져와 출력하는 예제입니다.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Example {
public static void main(String[] args) {
String filePath = "/tmp/test.txt"; // 파일 경로와 이름에 맞게 수정해주세요
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
자바 사용자에게 단어를 입력받아 파일에서 단어들의 위치 출력 예제
아래는 자바에서 사용자에게 단어를 입력받고 해당 단어들이 텍스트 파일에 어디에 위치해있는지 오프셋들을 출력하는 예제입니다.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Example {
public static void main(String[] args) {
String filePath = "/tmp/test.txt"; // 파일 경로와 이름에 맞게 수정해주세요
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
List<String> lines = new ArrayList<>();
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
Scanner scanner = new Scanner(System.in);
System.out.print("검색할 단어를 입력하세요: ");
String searchWord = scanner.nextLine();
for (int lineNumber = 0; lineNumber < lines.size(); lineNumber++) {
String currentLine = lines.get(lineNumber);
int index = -1;
int startPosition = 0;
while ((index = currentLine.indexOf(searchWord, startPosition)) != -1) {
System.out.println("Line " + (lineNumber + 1) + ", Position " + index);
startPosition = index + searchWord.length();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}