본문 바로가기

IT, 개발/JAVA

JAVA - 자바에서 파일 읽기, 쓰기 사용방법

728x90
반응형

 

 

개발을 하다 보면 중요한 정보라던지 유동적으로 변경하고 싶은 내용을 파일로 관리하는 경우가 생각보다 많습니다.

글자 수가 너무 많은 내용은 로그로 남기기에도 부담스럽기 때문에 파일로 빼내서 관리하기도 하고

파일을 읽어서 해당 정보를 사용하여 프로그램이 작동되도록 만들기도 합니다.

 

아래 예제를 통해 자바에서 File Read & Write 방법에 대해 알아보도록 하겠습니다.

 

클래스 전체를 확인하여 어떤 것이 import 되는지, 파일 쓰고 읽는 메서드를 어떻게 활용하면 좋을지 생각하면서

각자 상황에 맞게 활용하면 좋을 것 같습니다.

예제를 보겠습니다.

 

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
 
public class TestClass 
{
    
    // 파일에 내용 저장하기
    public static void fileWriter() throws Exception
    {
        String path = "/test/mypath/";
        String fileName = "testName.txt";
        String insertStr = "파일에 저장할 내용을 입력하세요.";
        
        File file = new File(path);
        
        if(!file.exists())
        {
            // 경로가 없다면 생성합니다. (디렉토리)
            try 
            {
                file.mkdirs();
            } 
            catch (Exception e) 
            {
                System.out.println("path mkdirs Error : "+e.toString());
            }
        }
 
        FileWriter writer = null;
        try 
        {
            // 기존 파일의 내용에 이어서 쓰려면 true를 
            // 기존 내용을 없애고 새로 쓰려면 false를 지정한다.
            writer = new FileWriter(file + "/" + fileName, false);
            writer.write(insertStr);
            
            writer.flush(); 
            
            
            System.out.println("file write 완료 ... ");
            System.out.println("file write 내용 : " + insertStr);
        } 
        catch(IOException e) 
        { 
            e.printStackTrace();
            System.out.println("fileWriter 에러 : "+e.toString());
        }
        finally 
        {
            try
            {
                if(writer != null
                {
                    writer.close();
                }
            } 
            catch(IOException e) 
            {
                e.printStackTrace();
            } 
        }
        
    }
    
    
    
    
    // 파일 읽어서 내용 가저오기    
    public static String fileReader() throws Exception
    {
        String path = "/test/mypath/testName.txt";
        
        File file = new File(path);
        String temp = "";
        
        try 
        {
            Scanner scan = new Scanner(file);
            while(scan.hasNextLine())
            { 
                System.out.println(scan.nextLine());
                temp += scan.nextLine();
            }
        } 
        catch(FileNotFoundException  e) 
        {
            e.printStackTrace();
            System.out.println("fileReader 에러 : " + e.toString());
        }
        
        return temp;
    }
    
}
cs

 

테스트해보고 변형하여 사용하면 좀 더 편리한 개발을 할 수 있을 것 같습니다 ^^

 

 

 

 

 

728x90
반응형