FileIOTest 0~5
package kr.or.didt.basic;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
* 문제)
* 'd:d_other' 폴더에 저장되어 있는 '강아지.jpg'파일을
* 'd:d_other/연습용' 폴더에 '복사본_강아지.jpg'파일로 복사하는
* 프로그램을 만드시오.
*
*/
public class FileCopyTest {
public static void main(String[] args) {
try{
File file = new File("d:/d_Other/멍멍.jpg");
FileInputStream fin = new FileInputStream(file);
BufferedInputStream bin = new BufferedInputStream(fin);
FileOutputStream fout = new FileOutputStream("d:/d_other/연습용/복사본_멍멍.jpg");
BufferedOutputStream bout = new BufferedOutputStream(fout);
/*int c;
while((c = fin.read()) != -1){
fout.write(c);
System.out.println((char)c);
}*/
/*
fout.close(); //쓰기 작업 완료 후 스트림 닫기
fin.close();*/
//버퍼 스트림으로 작업
int data;
while((data =bin.read()) != -1){
bout.write(data);
}
bout.flush();
bout.close();
System.out.println("복사 완료...");
} catch(IOException e){
}
}
}
FileIOTest01
package kr.or.didt.basic;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class FileIOTest01 {
public static void main(String[] args) {
try {
// 파일 내용을 읽어오기 위해서는 FileInputStream 객체가 필요하다
//스트림 객체 생성
// 방법1 => 읽어올 파일 정보를 문자열로 직접 기술하는 방법
// FileInputStream fin = new FileInputStream("d:/d_Oter/test.txt");
// 방법2 => 읽어올 파일을 File객체로 만들어서 사용하는 방법
File file = new File("d:/d_Other/test.txt");
FileInputStream fin = new FileInputStream(file);
int c; //읽어온 데이터가 저장될 변수
while( (c = fin.read()) != -1 ){ //만약 데이터가 -1이면???
// 읽어온 데이터를 화면에 출력하기
System.out.print( (char)c );
//print인데 왜 줄바꿈이 되어있나? enter도 줄바꿈 문자라 코드값이 저장된것
}
fin.close(); //작업 완료 후 스트림 닫기
} catch (IOException e) {
// TODO: handle exception
}
}
}
FileIOTest02
package kr.or.didt.basic;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileIOTest02 {
public static void main(String[] args) {
//파일에 데이터 출력하기
try {
FileOutputStream fout = new FileOutputStream("d:/d_other/out.txt");
for (char ch = 'A'; ch < 'Z'; ch++) {
fout.write(ch);//ch변수의 데이터를 파일로 출력한다
}
System.out.println("출력 작업 완료!!!");
fout.close(); //쓰기 작업 완료 후 스트림 닫기
} catch (IOException e) {
// TODO: handle exception
}
}
}
FileIOTest03
package kr.or.didt.basic;
import java.io.FileReader;
import java.io.IOException;
public class FileIOTest03 {
public static void main(String[] args) {
//문자 기반의 스트림을 이용한 파일 내용 읽어와 출력하기
try {
FileReader fr = new FileReader("d:/d_other/test.txt");
int c;
while((c=fr.read()) != -1){
System.out.println((char)c);
}
fr.close();
} catch (IOException e) {
// TODO: handle exception
}
}
}
FileIOTest04
package kr.or.didt.basic;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class FileIOTest04 {
public static void main(String[] args) {
//사용자가 입력한 내용을 그대로 파일로 저장하기
try {
// System.in ==> 콘솔(표준입출력장치)의 입력장치용 스트림객체
// InputStreamReader => 입력용 바이트기반의 스트림을 문자기반의 스트림으로 변환하는 보조스트림이다.
InputStreamReader isr = new InputStreamReader(System.in);
//byte기반의 스트림을 문자 기반으로 변환해 주는것
// 파일 출력용 문자기반 스트림 객체 생성
FileWriter fw = new FileWriter("d:/d_other/testChar.txt");
System.out.println("아무 내용이나 입력하세요."+"(입력의 끝은 Ctrl + Z 입니다.)");
int c;
//콘솔에서 데이터를 입력할 때 입력의 끝은 'Ctrl + Z'키를 누르면 된다.
while((c=isr.read()) != -1){
fw.write(c); //콘솔로 입력한 데이터를 파일로 출력한다.
}
isr.close();
fw.close();
} catch (IOException e) {
// TODO: handle exception
}
}
}
FileIOTest05
package kr.or.didt.basic;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class FileIOTest05 {
public static void main(String[] args) {
// 한글 내용이 있는 파일 읽어오기
// (한글의 인코딩 방식을 지정해서 읽어오기)
try {
// FileReader fr = new FileReader("d:/d_other/text_anci.txt");
FileReader fr = new FileReader("d:/d_other/text_utf8.txt");
FileInputStream fin = new FileInputStream("d:/d_other/text_utf8.txt");
//기본 인코딩 방식을 읽어온다.
// InputStreamReader isr = new InputStreamReader(fin);
//인코딩 방식을 지정해서 읽어오기
//인코딩 방식 예시
// - MS949 => 윈도우의 기본 한글 인코딩 방식(ANSI 방식과 같다.)
// - UTF-8 => 유니코드 UTF-8 인코딩 방식
// - US-ASCII => 영문 전용 인코딩 방식
// InputStreamReader isr = new InputStreamReader(fin, "ms949");
InputStreamReader isr = new InputStreamReader(fin, "utf-8");
int c;
while((c=isr.read()) != -1){
System.out.print((char)c);
}
isr.close();
} catch (IOException e) {
// TODO: handle exception
}
}
}
Author And Source
이 문제에 관하여(FileIOTest 0~5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@susan9905/FileIOTest-05저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)