Published 2020. 4. 16. 23:05
728x90
반응형

파일 입력과 출력 예제

 

파일명과 파일내용을 입력하고, 키보드로 읽을 대상 파일명을 입력받아 파일 내용 출력

public static void fileSave() {
	String fileName = null;
	FileWriter fw = null;
	
	//BufferedReader는 문자기반 보조스트림. readLine() 메소드로 줄단위로 읽어올 수 있음
	//InputStreamReader는 바이트기반스트림을 문자기반으로 연결하는 브릿지역할을 해줌
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	
	try {
		System.out.print("파일명을 입력하세요 : ");
		fileName = br.readLine();
	
		//test1폴더가 존재한다는 가정하에 진행
		fw = new FileWriter("test1/"+fileName);
		String data = "";
		System.out.println("파일에 저장할 내용을 입력하시오(종료:exit+엔터) : ");
		while((data=br.readLine())!=null){
			//사용자의 입력내용이 exit이면, 쓰기작업을 종료함. 
			if("exit".equals(data)) break;
			
			fw.write(data+"\n");		
		}
        
		System.out.println("파일에 성공적으로 저장했습니다.");
		
	} catch (IOException e) {
		e.printStackTrace();
	} finally {			
		try {
			fw.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
	
public static void fileRead(){
	FileReader fr = null;
	String fileName = null;
	
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	System.out.print("파일명을 입력하세요 : ");
	
	try {
		fileName = br.readLine();
	
		//FileReader는 파일에 읽기용 문자기반스트림.
		fr = new FileReader("test1/"+fileName);
		//읽어온 데이터를 담을 정수형변수
		int data = 0;
	
		StringBuilder sb = new StringBuilder();
		while((data=fr.read())!=-1)
			sb.append((char)data);
		
		//출력
		System.out.println(sb.toString());
	
	} catch (FileNotFoundException e) {
		System.out.println("["+fileName+"] 해당파일을 찾을 수 없습니다. ");
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		try {
			fr.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
반응형

'프로그래밍 > JAVA' 카테고리의 다른 글

04.19(SimpleDateFormat 패턴)  (0) 2020.04.19
04.17(API - Calendar 예제)  (0) 2020.04.17
04.15(자바 IO - System.in.read();)  (0) 2020.04.15
04.14(자바 IO)  (0) 2020.04.14
04.13(객체)  (0) 2020.04.13
복사했습니다!