CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /Java FileReader ํด๋ž˜์Šค
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

Java FileReader ํด๋ž˜์Šค

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

FileReader ํด๋ž˜์Šค ๊ฐœ์š”

FileReader ํด๋ž˜์Šค ๋Š” InputStreamReader ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•˜๊ณ  ํŒŒ์ผ์—์„œ ๋ฌธ์ž ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ž‘์—…ํ•  ๋•Œ ์ด์ƒ์ ์ธ ์„ ํƒ์ด๋ฉฐ ํŒŒ์ผ์—์„œ ๋ฌธ์ž๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. FileReader ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํŒŒ์ผ ํŒ๋…๊ธฐ ๊ฐœ์ฒด์™€ ์ง€์ •๋œ ํŒŒ์ผ ์‚ฌ์ด์— ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜์–ด ํ•ด๋‹น ํŒŒ์ผ์—์„œ ๋ฌธ์ž๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Java FileReader ์˜ˆ

FileReader ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ๋‚ด์šฉ์„ ์ฝ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค .
// We import the necessary classes: `java.io.BufferedReader`
import java.io.BufferedReader;
// We import the class: `java.io.FileReader` here to use fileReader
import java.io.FileReader;
// We import the class: `java.io.IOException` here to handle  fileReader exception
import java.io.IOException;

public class FileReaderExample {

    public static void main(String[] args) {
        String filePath = "/path/to/example.txt";
        try (FileReader fileReader = new FileReader(filePath);
             BufferedReader bufferedReader = new BufferedReader(fileReader)) {
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.out.println("Error reading file: " + e.getMessage());
        }
    }
}

์˜์‚ฌ์ฝ”๋“œ ์„ค๋ช…:

  1. ํ•„์š”ํ•œ ํด๋ž˜์Šค( BufferedReader , FileReader ๋ฐ IOException ) ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค .
  2. FileReaderExample ์ด๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค .
  3. ๊ธฐ๋ณธ ๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ filePath ๋ผ๋Š” ๋ฌธ์ž์—ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ ํ•˜๊ณ  ์‹œ์Šคํ…œ์˜ "example.txt" ํŒŒ์ผ์— ๋Œ€ํ•œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
  4. FileReader ๋ฐ BufferedReader ์ธ์Šคํ„ด์Šค ์‚ฌ์šฉ์ด ๋๋‚˜๋ฉด ์ž๋™์œผ๋กœ try-with-resources ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ซ์Šต๋‹ˆ๋‹ค .
  5. try ๋ธ”๋ก ๋‚ด์—์„œ FileReader ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  filePath ๋ฅผ ํ•ด๋‹น ์ƒ์„ฑ์ž์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค .
  6. FileReader ๊ฐ์ฒด๋ฅผ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•˜์—ฌ BufferedReader ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ ํ•˜๋ฉด ํŒŒ์ผ์„ ํ•œ ์ค„์”ฉ ํšจ์œจ์ ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  7. ํŒŒ์ผ์˜ ๊ฐ ์ค„์„ ์ €์žฅํ•˜๋ ค๋ฉด line์ด๋ผ๋Š” ๋ฌธ์ž์—ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜์„ธ์š” .
  8. ์ค„์ด null ์ด ์•„๋‹Œ ํ•œ ๊ณ„์†๋˜๋Š” ๋ฃจํ”„๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค .
  9. ๋ฃจํ”„ ๋‚ด์—์„œ bufferedReader ๊ฐ์ฒด ์˜ readLine ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์—์„œ ํ•œ ์ค„์„ ์ฝ์Šต๋‹ˆ๋‹ค .
  10. ํ–‰์ด null์ด ์•„๋‹ˆ๋ฉด System.out.println()์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ˜์†”์— ์ธ์‡„ํ•˜์‹ญ์‹œ์˜ค .
  11. ํŒŒ์ผ์„ ์ฝ๋Š” ๋™์•ˆ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด catch ๋ธ”๋ก์—์„œ ์ด๋ฅผ ํฌ์ฐฉํ•˜๊ณ  ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.

์‚ฐ์ถœ

์ด๊ฒƒ์€ 1ํ˜ธ์„ ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ 2ํ˜ธ์„ ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ 3ํ˜ธ์„ ์ž…๋‹ˆ๋‹ค.
์ฐธ๊ณ : ํ”„๋กœ๊ทธ๋žจ์€ "example.txt" ํŒŒ์ผ( filePath ๋ณ€์ˆ˜๋กœ ์ง€์ •๋จ)์—์„œ ๊ฐ ์ค„์„ ์ฝ๊ณ  ์ด๋ฅผ ์ฝ˜์†”์— ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ์ฝ๋Š” ๋™์•ˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด "/path/to/example.txt"๋ฅผ ์‹œ์Šคํ…œ์˜ "example.txt" ํŒŒ์ผ์— ๋Œ€ํ•œ ์‹ค์ œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ๋ฐ”๊พธ์‹ญ์‹œ์˜ค.

๊ฒฐ๋ก 

Java์˜ java.io.FileReader ํด๋ž˜์Šค๋Š” ํŒŒ์ผ์—์„œ ๋ฌธ์ž ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ํŽธ๋ฆฌํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค . FileReader ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น read() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ ๋‚ด์šฉ์„ ๋ฌธ์ž๋ณ„๋กœ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. try-catch ๋ธ”๋ก์— ์ฝ”๋“œ๋ฅผ ๋ž˜ํ•‘ํ•˜๊ณ  ํŒŒ์ผ์„ ์ฝ์€ ํ›„ ํŒŒ์ผ ํŒ๋…๊ธฐ ๊ฐœ์ฒด๋ฅผ ๋‹ซ์•„ ์ž ์žฌ์ ์ธ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION