삐주
초급 개발자
삐주
전체 방문자
오늘
어제
  • 분류 전체보기 (126)
    • Programming (14)
      • JAVA (4)
      • Spring (0)
      • Python (5)
    • Database (12)
      • Oracle (0)
      • Sybase (3)
      • HANA DB (1)
    • Algorithm (10)
      • 백준 문제풀이 (0)
      • 문제로 풀어보는 알고리즘 프로그래밍 (1)
      • 프로그래머스 (8)
    • SAP (43)
      • EAI (37)
      • EAI 예제 (1)
      • ABAP (4)
      • SAP BC (0)
    • Tool (4)
      • Eclipse (0)
    • Infra (3)
      • Network (3)
      • OS (0)
      • Storge (0)
    • Etc (21)
      • 시사 (15)
      • 맛집 (0)
    • Study (12)
      • 파이썬 머신러닝 프로젝트 (1)
      • 영어 (7)
      • 리눅스마스터 (3)
      • SQLD (0)

태그

  • 코로나
  • error
  • sap
  • EAI
  • DATABASE
  • 코로나19
  • pI
  • 프로그래머스
  • SAP EAI
  • DB

티스토리

반응형
250x250
hELLO · Designed By 정상우.
삐주

초급 개발자

[Java] File Input / Output 입출력 Code
Programming/JAVA

[Java] File Input / Output 입출력 Code

2020. 9. 22. 17:22
728x90
반응형

File 입출력 코드

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;


public class File_In_Out_EX {

	public static void main(String[] args) {
		FileInOut FileIO = new FileInOut();
		FileIO.File_Output();
		FileIO.File_Input();
		
	}
}

class FileInOut {
	// File 내보내기
	void File_Output() {
		try {
			OutputStream output = new FileOutputStream("D:/FileTest/Output.txt");
			String str = "hello World!";
			byte[] by = str.getBytes();
			output.write(by);
		} catch (Exception e) {
			e.getStackTrace();
		}
	}
	// File 불러오기
	void File_Input() {
		try {
			File file = new File("D:/FileTest/Output.txt");
			FileReader file_reader = new FileReader(file);
			int cur = 0;
			while ((cur = file_reader.read()) != -1) {
				System.out.print((char) cur);
			}
			file_reader.close();
		} catch (IOException e) {
			e.getStackTrace();
		}
	}
}

 

결과

  • File Output

  • File Input


Buffer 를 활용한 코드

import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class File_Buffer_StreamEX {
	public static void main(String[] args) throws IOException {
		FileBuffer_IO filebuffer_io = new FileBuffer_IO();
		filebuffer_io.FileBuffer_Output();
		filebuffer_io.FileBuffer_Input();

	}
}

class FileBuffer_IO {

	void FileBuffer_Output() throws IOException {
		BufferedOutputStream bs = null;
		try {
			bs = new BufferedOutputStream(new FileOutputStream("D:/FileTest/Buffer/BufferOutput.txt"));
			String str = "Hello World!";
			bs.write(str.getBytes());
			bs.close();
		} catch (Exception e) {
			e.getStackTrace();
		}
	}

	void FileBuffer_Input() {
		try {

			FileInputStream fileStream = null;
			fileStream = new FileInputStream("D:/FileTest/Buffer/BufferOutput.txt");
			byte[] readBuffer = new byte[fileStream.available()];
			while (fileStream.read(readBuffer) != -1) {
			}
			System.out.println(new String(readBuffer));

			fileStream.close();
		} catch (Exception e) {
			e.getStackTrace();
		}
	}
}

 

결과

  • FileBuffer Output

  • FileBuffer Input


일단 File Stream과 Buffer Strem의 차이는 전달 방식에서 차이가 있다

Bufferd Strem의 경우 버퍼에 적재하여 메모리 버퍼로 데이터를 전송하는 방식이고

일반 Strem의 경우에는 프로그램에서 일일히 처리하기 때문에 실행 속도 및 성능적인

부분에서도 Buffer를 사용하는게 더 유리하다.


 

728x90
반응형

'Programming > JAVA' 카테고리의 다른 글

[JAVA] Error - 인증서 검증을 실패했습니다. 애플리케이션이 실행되지 않습니다  (1) 2021.11.15
[JAVA] 자바 향상된 for문  (0) 2021.08.11
Java의 기본 개념  (0) 2020.05.07
    'Programming/JAVA' 카테고리의 다른 글
    • [JAVA] Error - 인증서 검증을 실패했습니다. 애플리케이션이 실행되지 않습니다
    • [JAVA] 자바 향상된 for문
    • Java의 기본 개념
    삐주
    삐주

    티스토리툴바