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
728x90
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 |