danuri
오늘의 기록
danuri
전체 방문자
오늘
어제
  • 오늘의 기록 (307)
    • java (150)
      • java (33)
      • spring (63)
      • jpa (36)
      • querydsl (7)
      • intelliJ (9)
    • kotlin (8)
    • python (24)
      • python (10)
      • data analysis (13)
      • crawling (1)
    • ddd (2)
    • chatgpt (2)
    • algorithm (33)
      • theory (9)
      • problems (23)
    • http (8)
    • git (8)
    • database (5)
    • aws (12)
    • devops (10)
      • docker (6)
      • cicd (4)
    • book (44)
      • clean code (9)
      • 도메인 주도 개발 시작하기 (10)
      • 자바 최적화 (11)
      • 마이크로서비스 패턴 (0)
      • 스프링으로 시작하는 리액티브 프로그래밍 (14)
    • tistory (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

태그

  • mockito
  • Database
  • nuribank
  • Saving Plans
  • PostgreSQL
  • Spring
  • RDS
  • SWAGGER
  • 마이크로서비스패턴
  • connection
  • docker
  • ChatGPT
  • AWS
  • 트랜잭션
  • DDD
  • POSTGIS
  • gitlab
  • 자바 최적화
  • S3
  • 등가속도 운동
  • Thymeleaf
  • CICD
  • Security
  • Jackson
  • reactive
  • Java
  • JPA
  • Kotlin
  • 도메인 주도 설계
  • Bitmask

최근 댓글

최근 글

hELLO · Designed By 정상우.
danuri

오늘의 기록

[Intellij] 파일이 있는데, No such file or directory 에러
java/intelliJ

[Intellij] 파일이 있는데, No such file or directory 에러

2021. 9. 8. 19:27

인텔리제이에서 FileInputStream같은 파일입출력을 수행하던 도중 분명히 소스코드와 파일이 같은 디렉토리에 있는데 읽어올 수 없는 경우가 있다.

 

다음 예시를 보자.

 

 

class FileViewer {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("data.txt");
        int data = 0;

        while ((data = fis.read()) != -1) {
            char c = (char) data;
            System.out.print(c);
        }
    }
}

<결과>

Exception in thread "main" java.io.FileNotFoundException: data.txt (No such file or directory)

 

분명 실행된 코드와 data.txt가 같은 디렉토리에 있는데 파일을 찾을 수 없단다...

 

뭐가 문제일까?

이는 인텔리제이에서 소스가 동작하는 working directory와 소스 코드가 실제로 존재하는 directory가 다르기 때문이다.

일반적으로 소스코드의 working directory는 src/main이다. 그런데 실제 소스 코드가 존재하는 directory는 src/main/java/week13이다.

 

그래서 두 가지 해결 방안이 있다.

1. data.txt의 위치를 src/main으로 옮긴다.

2. working directory를 src/main/java/week13으로 변경한다.

 

working directory 경로는 실행(Run)아이콘 왼쪽에 있는 메뉴에 Edit Configurations... 을 통해 설정할 수 있다.

 

 

 

'java > intelliJ' 카테고리의 다른 글

[Intellij] 환경 변수 등록  (2) 2021.07.21
[Intellij] 디버그  (0) 2021.07.13
[Intellij] import문 자동 정리하기  (1) 2021.07.13
[Intellij] JUnit5 Stateful Test  (0) 2021.07.05
[Intellij] 인텔리제이 단축키, 템플릿 정리 - Mac  (2) 2021.06.24
    'java/intelliJ' 카테고리의 다른 글
    • [Intellij] 환경 변수 등록
    • [Intellij] 디버그
    • [Intellij] import문 자동 정리하기
    • [Intellij] JUnit5 Stateful Test
    danuri
    danuri
    IT 관련 정보(컴퓨터 지식, 개발)를 꾸준히 기록하는 블로그입니다.

    티스토리툴바