blues_log

오늘 배운 내용

  • Java : Method의 전반적인 내용 복습 , FileWriter 클래스

학습한 내용

 

static 

public static void main(String[] args) {

}

메소드를 선언할 때 나오는 static은 어떤 경우에는 붙이고 어떤 경우에는 붙이지 않는 경우가 있다.

결과부터 정리하면 다음과 같다.

  • class method에서는 static을 붙인다.
  • instance method에서는 static을 붙이지 않는다.

다음 코드의 예에서 그 차이를 명확히 알 수 있을 것이다.

Class Blue {
	public void a() {
    	System.out.println("A")
    }
}

public class InstanceMethod {

	public static void main(String[] args) {
    	
        Blue b = new Blue();
        b.a()
    }
}

a()라는 메소드는 밑에서 instance method로 활용되었다. 그래서 a() 메소드를 만들 때 static을 붙이지 않는다.

 

Class Blue {
	public static void a() {
    	System.out.println("A")
    }
}

public class InstanceMethod {

	public static void main(String[] args) {
    	Blue.a();
    }
}

여기서 a() 메소드는 class method로 활용되었다. 그래서 a() 메소드를 만들 때 static을 붙인다.

 


FileWriter 클래스

  • FileWriter는 텍스트 데이터를 파일에 저장할 때 사용한다.
  • FileWriter는 문자 단위로 저장하므로 텍스트만 저장이 가능하다.
  • 지정된 파일이 이미 존재하는 경우 기존의 내용을 없애고 새로운 내용으로 덮어쓴다.

FileWriter 클래스를 사용하기 위해서는 다음 패키지를 import 해야한다.

import java.io.FileWriter;

import java.io.File; //밑에 나오는 두 가지 방법 중 2번째 방법을 사용할 때만 필요!

생성 방법은 다음 두 가지이다.

FileWrirer fw = new FileWriter("파일경로");

File file = new File("파일경로")
FileWriter fw = new FileWriter(file);

여기서 파일의 내용을 덮어쓰기 싫은 경우는 각각의 두번째 매개변수에 true를 추가하면된다.

FileWrirer fw = new FileWriter("파일경로",true);

File file = new File("파일경로",true)
FileWriter fw = new FileWriter(file);

 

사용 예시는 다음과 같다.

import java.io.FileWriter;
import java.io.IOException;

public class FilWriterExample2 {

	public static void main(String[] args) throws IOException {
		FileWriter fw = new FileWriter("C:\\Users\\Administrator\\Desktop\\Java1/file.txt");
		
		fw.write("이것은 FileWriter의 " + "\n");
		fw.write("사용 예제입니당." + "\n");
		fw.close();
		
	}

}
  • 예외가 발생하는 경우에는 throws IOException을 하자 !
  • 모든 처리가 끝나면 반드시 close메소드를 사용하여 파일을 닫아주어야한다 !

 

자세한 내용은 다음 링크를 참고하자 !

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/FileWriter.html


FileReader 클래스

  • FileReader는 텍스트 파일을 프로그램으로 읽어들일 때 사용한다.
  • FileReader는 문자 단위로 읽으므로 텍스트만 읽을 수 있다.

FileReader 클래스를 사용하기 위해서는 다음 패키지를 import 해야한다.

import java.io.FileReader;

import java.io.File; //밑에 나오는 두 가지 방법 중 2번째 방법을 사용할 때 필요!

 

생성 방법은 다음 두 가지 이다.

FileReader fr = new FileReader("파일경로");

File file = new File("파일경로")
FileReader fr = new FileReader(file);

 

사용 예시는 다음과 같다.

import java.io.FileReader;
import java.io.IOException;
import java.io.File;

public class FileReaderExample {

	public static void main(String[] args) throws IOException {
		
		File file = new File("C:\\Users\\Administrator\\Desktop\\Java1/file.txt");
		FileReader fr = new FileReader(file);
		
		int ch=0;
		while((ch = fr.read()) != -1) {
			System.out.println((char)ch);
		}
		fr.close();
	}
}

다음 코드의 실행결과는 다음과 같다.

더보기
이
것
은
 
F
i
l
e
W
r
i
t
e
r
의
 


사
용
 
예
제
입
니
당
.

결과와 같이 한 글자씩 읽는 것을 알 수 있다.

 

한 줄씩 읽으려면 BufferdeReader 클래스를 사용하자 !

import java.io.FileReader;
import java.io.IOException;
import java.io.File;
import java.io.BufferedReader;

public class FileReaderExample2 {

	public static void main(String[] args) throws IOException {
		
		File file = new File("C:\\Users\\Administrator\\Desktop\\Java1/file.txt");
		FileReader fr = new FileReader(file);
		BufferedReader bufReader = new BufferedReader(fr);

		String line = "";
		while ((line = bufReader.readLine()) != null) {
		  System.out.println(line);
		}
		bufReader.close();
	}
}

실행 결과는 다음과 같다.

더보기
이것은 FileWriter의 
사용 예제입니당.

 


참고

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=rain483&logNo=220630734876 

생활코딩 자바 https://opentutorials.org/module/4397/26913


느낀점

Java라는 언어 그리고 프로그래밍이라는 것은 끝이 없는 것 같다. 왜 개발자라는 직업이 되려면 끝없이 공부해야하고 성장하기 위해서 노력하라는 것인지 좀 알 것 같다. 

 

새로운 내용을 배우는 것이 아직 재밌고, 많이 흥미롭기 때문에 프로그래밍 공부도 재밌게 할 수 있는 것 같다.

 

특히, 객체 지향 파트, 자바 API 는 정말 중요하니까 열심히 공부해서 자주 쓰는 내용들은 확실하게 익힐 수 있도록 해야겠다. 화이팅하자..!