본문 바로가기
java

FileReader/FileWriter

by 헤르쯔44 2021. 10. 20.
728x90
반응형

1. 영문으로 키보드로 문자열을 입력받아 (exit가 입력될때까지 문자열을 입력받음)
   test.txt파일로 저장하는 프로그램을 작성해 보세요. 

 

 

package test.aa;

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

public class HW1 {
	public static void main(String[] args) throws Exception{
		Scanner scan=new Scanner(System.in);
		FileWriter fw=new FileWriter("test.txt");
		System.out.println("파일로 저장될 문자열을 입력하세요.. 종료는 exit");
		while(true) {
			String text=scan.nextLine();
			if(text.equals("exit")) break;
			fw.write(text+"\n");
		}
		fw.close();
		System.out.println("파일로 저장 완료!");
	}
}

2. 프로그램을 실행하면 test.txt파일의 모든 내용을 대문자로 
 변환해 upper_test.txt파일에 저장되도록 만들어 보세요.

 ## test.txt
 hello!
 my name is hong gil dong.

 ==> 프로그램 실행후 upper_test.txt파일에 아래처럼 저장된다.
 HELLO!
 MY NAME IS HONG GIL DONG.

package hw;

import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
public class HW2 {
	public static void main(String[] args) throws Exception{
		Scanner scan=new Scanner(System.in);
		FileReader fr=new FileReader("test.txt");
		FileWriter fw=new FileWriter("upper_test.txt");
		while(true) {
			int n=fr.read();
			if(n==-1) break;
			char c=Character.toUpperCase((char)n);
			fw.write(c);
		}
		fr.close();
		fw.close();
		System.out.println("대문자로 변환된 파일생성완료!");
	}
}

3. 파일복사 프로그램을 만들어 보세요. (FileReader/FileWriter사용) 

package hw;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class HW3{
	public static void main(String[] args) throws Exception{
		FileReader fr=null;
		FileWriter fw=null;
		try {
			fr=new FileReader("test.txt");
			fw=new FileWriter("copy.txt");
			long fileSize=0;
			char[] cbuf=new char[100];
			while(true) {
				int n=fr.read(cbuf);
				if(n==-1) break;
				fw.write(cbuf,0,n);	
				fileSize += n;
			}
			System.out.println(fileSize +"bytes 크기의 파일복사성공!");
		}catch(FileNotFoundException fe) {
			System.out.println(fe.getMessage());
		}catch(IOException ie) {
			System.out.println(ie.getMessage());
		}finally {
			try {
				if(fr!=null) fr.close();
				if(fw!=null) fw.close();
			}catch(IOException ie) {
				System.out.println(ie.getMessage());
			}
		}
	}
}

 

728x90
반응형

'java' 카테고리의 다른 글

[java]StringTokenizer  (0) 2022.04.21
PrintWriter/InputStreamReader  (0) 2021.10.20
HashMap/Calender  (0) 2021.10.20
회원관리 기능  (0) 2021.10.20
[9/17] class ,생성자,메소드  (0) 2021.10.20