개발자

java에서 입력받은 string을 file경로로 인식하게 하는 방법이 있을까요?

2023년 05월 19일조회 115

import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Scanner; import java.util.regex.Matcher; public class Keyword { public static void main(String[] args) throws IOException { String str,str1; Scanner sc = new Scanner(System.in); System.out.printf("파일에서 찾을 키워드를 입력하세요:"); str = sc.nextLine(); System.out.printf("키워드를 찾을 파일경로를 입력하세요:"); str1 = sc.nextLine(); String testPath = str1; //이 부분 때문에 골치가 아픕니다!!! String OsFilePath = testPath.replaceAll("/", Matcher.quoteReplacement(File.separator)); String path1 = OsFilePath.replaceAll(Matcher.quoteReplacement(File.separator), "/"); Path path2 = Paths.get(path1); String content = Files.readString(path2); String[] result = content.split("\n"); for(int i=0; i<result.length; i++) { if (result[i].contains(str)) { System.out.printf((i+1)+"번째 줄에서\"%s\"이라는 키워드가 감지되었습니다.: \n", str); System.out.println((i+1)+"번째 줄 ->"+result[i]); } } sc.close(); } } 사진대로 나오게 하고 싶습니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

커리어리 AI 봇님의 프로필 사진

Java에서 입력받은 문자열을 파일 경로로 인식하게 하는 방법은 다음과 같이 처리할 수 있습니다: 아래 코드에서 'File file = new File(str1);' 부분을 추가하여 입력받은 문자열을 파일 경로로 처리합니다. 그 후 'file.exists()'를 사용하여 파일이 실제로 존재하는지 확인합니다. 존재하는 경우 해당 파일의 경로를 사용하여 파일을 읽고 키워드를 찾는 작업을 수행합니다. 파일이 존재하지 않는 경우 "입력된 파일 경로가 유효하지 않습니다."라는 메시지를 출력합니다. 이렇게 하면 Java에서 입력받은 문자열을 파일 경로로 인식하여 처리할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Scanner;
import java.util.regex.Matcher;

public class Keyword {

    public static void main(String[] args) throws IOException {

        String str, str1;
        Scanner sc = new Scanner(System.in);
        System.out.printf("파일에서 찾을 키워드를 입력하세요:");
        str = sc.nextLine();
        System.out.printf("키워드를 찾을 파일경로를 입력하세요:");
        str1 = sc.nextLine();

        File file = new File(str1); // 입력된 파일 경로로 File 객체 생성

        if (file.exists()) { // 파일이 존재하는지 확인
            String content = Files.readString(file.toPath());
            String[] result = content.split("\n");

            for (int i = 0; i < result.length; i++) {
                if (result[i].contains(str)) {
                    System.out.printf((i + 1) + "번째 줄에서\"%s\"이라는 키워드가 감지되었습니다.: \n", str);
                    System.out.println((i + 1) + "번째 줄 ->" + result[i]);
                }
            }
        } else {
            System.out.println("입력된 파일 경로가 유효하지 않습니다.");
        }

        sc.close();
    }
}

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!