본문 바로가기

옛날

FileWriter로 파일에 문자 쓰기

개발환경 :

Windows 10 Home 64bit

Java Development Kit 1.8.0_112

Eclipse Kepler Service Release 2




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package io;
 
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
 
public class IO {
 
    public static void main(String[] args) {
        try {
            FileWriter fw = new FileWriter("C://test.txt");
        
            fw.write("TEST");
            
            if(fw!=null) fw.close();
            
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
cs


FileReader와 객체 생성 방법은 똑같다. close()를 해줘야 하는 것도 똑같다.


wirte 메서드를 보자.


배열과 정수형으로도 받을 수 있는것을 알 수 있다.


위의 코드의 결과를 일단 보면

.

기존에 있던 문자가 모두 사라지고 TEST만 입력된 것을 볼 수 있다.


이제 오버로딩되어있는 write(String arg0, int arg1, int arg2)를 사용하여보자.


이 메소드는 내가 원하는 부분부터 원하는 길이만큼 문자를 쓸 수 있는 기능을 제공하고 있다.

write("String", offset, length); 이렇게 호출해주면 되겟다. 실습해보자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package io;
 
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
 
public class IO {
 
    public static void main(String[] args) {
        try {
            FileWriter fw = new FileWriter("C://test.txt");
            
            fw.write("ABCD!TEST!ABCD",4,6);
            
            if(fw!=null) fw.close();
            
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
cs


ABCD!TEST!ABCD 에서 4글자 띄우면 !TEST!ABCD 부터 시작된다

그리고 6글자까지만 쓰게되면 !TEST! 만 쓰이게된다.