관리 메뉴

개발 노트

8/2 Ecilpse 단축어, Buffer, FileReader, FileWriter 본문

프로젝트 기반 JAVA 응용 SW개발 : 22.07.19~23.01.20/JAVA

8/2 Ecilpse 단축어, Buffer, FileReader, FileWriter

hayoung.dev 2022. 8. 2. 15:16

ecilpse 단축어

** : 자주 씀

1. Java Editor 단축키
 
Ctrl + Shift + B : Break point 설정 / 해제
Ctrl + Shift + F : 소스코드 자동 정리(**)
Ctrl + Shift + G : 현재 커서가 위치한 특정 메서드나 객체, 필드를 참조하고 있는 곳을 찾는다.
Ctrl + Shift + J : 검색할 단어를 입력하면서 실시간으로 거꾸로 검색
Ctrl + Shift + K : 이전찾기
Ctrl + Shift + L : 단축키 보기 Hint
Ctrl + Shift + M : 캐럿이 위치한 대상에 필요한 특정 클래스 Import 시키기
Ctrl + Shift + O : 소스에 필요한 패키지를 자동으로 Import 시키기
Ctrl + Shift + R : Open Resource. 모든 프로젝트에서 파일명 검색.
Ctrl + Shift + S : 열린 모든 파일 저장 및 컴파일
Ctrl + Shift + / : 선택 영역 Block Comment 설정(**)
Ctrl + Shift + \ : 선택 영역 Block Comment 제거(**)

Ctrl + Alt + R
Ctrl + Alt + up/down : 한 줄 duplicate
Ctrl + F11 : 실행

Ctrl + 1 : Quick Fix. 
Ctrl + 2 + R : Rename (리팩토링)

Ctrl + / : 한 줄 또는 선택영역 주석처리 / 제거
Ctrl + . : 다음 오류 부분으로 가기
Ctrl + , : 이전 오류 부분으로 가기

Ctrl + D : 한 줄 삭제(**)
Ctrl + H : Find 및 Replace(**)
Ctrl + I : 소스 깔끔 정리(자동 구문 정리)
Ctrl + J : 검색할 단어를 입력하면서 실시간으로 검색
Ctrl + K : 다음 찾기
Ctrl + L : 특정 줄번호로 가기
Ctrl + N : 새로운 파일 및 프로젝트 생성
Ctrl + O : Outline 창 열기
Ctrl + Q : 마지막 편집 위치로 가기
Ctrl + S : 저장 및 컴파일
Ctrl + M : 전체화면 Toggle(**)

Ctrl + space : 어휘의 자동완성(Content Assistance)

Ctrl + 객체 클릭(혹은 F3) : 클래스나 메서드 혹은 멤버를 정의한 곳으로 이동
Alt + Shift + UP : 커서를 기준으로 토큰단위 블록 지정
Alt + Shift + DOWN : 커서를 기준으로 토큰단위 블럭해제
Alt + Shift + J : 설정해 둔 기본 주석을 자동으로 달기
Alt + UP, DOWN : 현재 줄 위치 이동
Alt + Shift + 방향 : 선택
Alt + Shift + R : Rename
Alt + / : Word Completion
Alt + ->, Alt + <- : 이후, 이전


2. Window 이동
 
F10 : 메뉴창을 활성화
Ctrl + F8 : 다음 Perspective로 이동
Ctrl + N : 새로운 파일 및 프로젝트 생성.
Ctrl + Shift + Down : Java Editor에서 다음 member로 이동.
Ctrl + F7 : 다음 View로 이동.
Ctrl + Shift + F7 : 이전 View로 이동.
Alt + <- : 이전 작업 화면
Alt + -> : 다음 작업 화면
F12 : 컴파일 중 에러 등으로 포커스가 다른데로 갔을 때 Editor 로 커서 이동
Ctrl + 1 : 컴파일 에러에 대한 해결책을 제시

 

 

[16.입출력]

p.6 문자 기반 스트림은 여러가지가 있는데 그 중 FileReader, FileWriter를 자주 씀. 전부 다 알 필요 없고 회사마다 자주 쓰는 스트림이 있으므로 그것만 익히면 됨.

 

[ch16]

Buffer1.java

package ch16;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Buffer1 {

	public static void main(String[] args) throws IOException {
		//키보드로 입력되는 문자열의 연속을 읽어들임.
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.println("이름은?");
		String name = br.readLine();
		System.out.println("주소는?");
		String addr = br.readLine();
		System.out.println(name + "님은 " + addr + "에 사시는군요");
	}
}

출력 결과

 

Dir01.java

package ch16;

import java.io.File;


public class Dir01 {

	public static void main(String[] args) {
		//File은 주어준 이름을 사용하여 새로운 파일 인스턴스를 생성해줌.
		// .은 현재 위치 ..은 부모(윗 폴더)의 위치
		//나의 현재 폴더에 있는 파일들의 리스트를 보여줌.
		//File file = new File(".");
		
		//현재 폴더 위치(이 .java 파일의 위치)에서 확인하고 싶은 폴더의 위치로 이동
		File file = new File("../ch13/src/ch13");

		//파일 안에 있는 list를 돌려줌. list는 String값이기 때문에 String으로 선언해야 함.
		String[] fileList = file.list(); 	
		for(String str : fileList) {
			System.out.println(str);
		}

	}

}

출력 결과

Sources\ch13\src\ch13 위치에 저장되어 있는 파일들

Fileinfo01.java

package ch16;

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class Fileinfo01 {

	public static void main(String[] args) throws IOException {
		//보고싶은 파일의 위치와 함께 이름을 입력
		File file = new File("../ch16/src/ch16/Buffer1.java");
		System.out.println("Directory : "+file.isDirectory()); //디렉토리인지 물어봄
		System.out.println("파일 상세 정보 *****");
		System.out.println("절대 경로 : " + file.getAbsolutePath());
		System.out.println("표준 경로 : " + file.getCanonicalPath());
		System.out.println("생성일 : " + new Date(file.lastModified())); //마지막으로 수정한 항목
		System.out.println("파일 크기 : " + file.length());
		System.out.println("읽기 속성 : " + file.canRead());	//읽을 수 있는지
		System.out.println("쓰기 속성 : " + file.canWrite()); 	//쓸 수 있는지
		System.out.println("파일 경로 : "+ file.getParent());
		System.out.println("숨김 속성 : " + file.isHidden()); 	//숨김처리가 되어있는지
		//*선언할 때 DB사용 전까진 무조건 util로 import
	}
}

출력 결과

 

 

FileWriter01.java

package ch16;

import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;
import java.util.Scanner;

//실행하면 C:\Java Programming\Sources\ch16 폴더에 생성되어있음.
//실무에서는 파일저장을 거의 쓰지 않고 DB를 사용함.
public class FileWriter01 {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		System.out.println("출력할 파일명");
		String fileName = sc.nextLine(); 	//파일명이 들어옴
		System.out.println("저장할 글을 입력하시오");
		String msg = sc.nextLine();
		FileWriter fw = new FileWriter(fileName); 	//fileWriter : 파일을 씀
		Date date = new Date(); 	//오늘 날짜를 기본으로 생성해줌
		fw.write(date+" : " + msg); 	//날짜와 메시지를 같이 파일에 입력함.
		fw.close();
		System.out.println("출력 끝");
		sc.close();

	}

}

출력 결과

FileWriter01.java 가 있는 위치에 abc.txt 가 저장되었고 내용은 하단과 같이 저장되었다.

 

FileReader01.java

package ch16;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

public class FileReader01 {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		System.out.println("읽을 파일명을 입력");
		String fileName = sc.nextLine();
		// 파일이 없을 경우가 있기 때문에 exception을 자동완성으로 throws 해줌.
		//FileReader : 주어진 파일의 이름을 읽기 위한 객체를 생성
		FileReader fr = new FileReader(fileName);
		int data = 0;
		//한 글자씩 읽어들인다. 읽은 것이 -1이면(마지막 char)이면, 즉 글자가 없으면 close함(읽는것을 끝냄).
		while ((data = fr.read()) != -1) {
			System.out.print((char) data);
		}
		fr.close();
		System.out.println("출력 끝");
		sc.close();
	}

}

출력 결과

 

 

JDBC : java와 db를 connection연결해준다는 뜻. 이것은 DB 배우고 나서 배울 예정

ppt 기준 5,6,7,8,11,18단원이 제일 중요함.

반응형