2021. 04. 23(금) TIL
Java
I/O
InputStream
FileInputStream
- 직접 파일에서 1byte씩 읽어오는 스트림
- new FileInputStream("경로/파일명");
- new FileInputStream(new File("경로/파일명"));
BufferedInputStream
- 모든 InputStream과 연결해서 사용하는 보조스트림, InputStream의 읽기 속도를 향상시킨다.
- new BufferedInputStream(다른 InputStream);
OutputStream
FileOutputStream
- 직접 파일에 1byte씩 출력하는 스트림
- new FileOutputStream("경로/파일명");
- new FileOutputStream(new File("경로/파일명"));
BufferedOutputStream
- 모든 OutputStream과 연결해서 사용하는 보조스트림, OutputStream의 출력 속도를 향상시킨다.
- new BufferedOutputStream(다른 OutputStream);
PrintStream
- 시스템의 표준출력 스트림으로 사용되는 스트림, System.out과 System.err 정적변수에 각각 연결되어 있다.
- print(), println()이 중복정의되어 있다.
Reader
FileReader
- 직접 파일에서 1글자씩 읽어오는 스트림
- new FileReader("경로/파일명");
- new FileReader(new File("경로/파일명"));
BufferedReader
- 모든 Reader와 연결해서 사용하는 보조스트림, 텍스트를 1줄씩 읽어오는 readLine() 메소드가 있다.
- new BufferedReader(다른 Reader);
InputStreamReader
- 브릿지스트림, InputStream과 연결할 수 있는 보조스트림
- new InputStreamReader(다른 InputStream);
Writer
FileWriter
- 직접 파일에 1글자씩 읽어오느 스트림
- new FileWriter("경로/파일명")
- new FileWriter(new File("경로/파일명"));
PrintWriter
- 텍스트 출력의 만능 스트림
- print(), println()이 중복정의되어 있다. 자동으로 줄바꿈문자 추가, auto-flush 기능 체공
- new PrintWriter("경로/파일명");
- new PrintWriter(다른 InputStream);
- new PrintWriter(다른 Writer)
OutputStreamWriter
- 브릿지스트림, OutputStream과 연결할 수 있는 보조스트림
- new OutputStreamWriter(다른 OutputStream);
package day3;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
public class ApacheIOApp {
public static void main(String[] args) throws IOException {
File src = new File("src/day3/song.mp4");
File dest = new File("src/day3/song_copy.mp4");
FileUtils.copyFile(src, dest);
// 인터넷의 자원(텍스트, 사진, 영상) 가져오기
URL url = new URL("https://img2.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/202104/21/newsen/20210421211644612vrek.jpg");
InputStream in = url.openStream();
FileOutputStream out = new FileOutputStream("src/day3/photo.jpg");
IOUtils.copy(in, out);
}
}
package day3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
public class BridgeStreamApp {
public static void main(String[] args) throws IOException {
URL url = new URL("https://sample-videos.com/csv/Sample-Spreadsheet-100-rows.csv");
// 1byte 씩 읽어오는 스트림 획득
InputStream is = url.openStream();
// 1글자씩 읽어오는 스트림과 연결
InputStreamReader isr = new InputStreamReader(is);
//
BufferedReader reader = new BufferedReader(isr);
String text = null;
while ((text = reader.readLine()) != null) {
System.out.println(text);
}
}
}
package day3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class StandardInputApp {
public static void main(String[] args) throws IOException {
// Scanner와 표준입력스트림을 연결해서 키보드 입력값 읽어오기
// Scanner scanner = new Scanner(System.in);
// System.out.println("메세지를 입력하세요");
// String text = scanner.nextLine();
// System.out.println("입력 메세지" + text);
// scanner.close();
// BufferedReader, InputStreamReader와 표준 입력스트림을 연결해서 키보드 입력값 읽어오기
InputStream is = System.in; // 키보드와 연결된 InputStream
InputStreamReader isr = new InputStreamReader(is); // InputStreamReader와 표준입력스트림 연결
BufferedReader reader = new BufferedReader(isr); // 표준입력스트림이 BufferedReader와
// 프로그램 <- BufferedReader <- InputStreamReader <- InputStream <- 키보드
System.out.print("메세지를 입력하세요 : ");
String text = reader.readLine();
System.out.println("입력 메세지 : " + text);
}
}
Author And Source
이 문제에 관하여(2021. 04. 23(금) TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@eastgun_/2021.-04.-23금-TIL
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
package day3;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
public class ApacheIOApp {
public static void main(String[] args) throws IOException {
File src = new File("src/day3/song.mp4");
File dest = new File("src/day3/song_copy.mp4");
FileUtils.copyFile(src, dest);
// 인터넷의 자원(텍스트, 사진, 영상) 가져오기
URL url = new URL("https://img2.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/202104/21/newsen/20210421211644612vrek.jpg");
InputStream in = url.openStream();
FileOutputStream out = new FileOutputStream("src/day3/photo.jpg");
IOUtils.copy(in, out);
}
}
package day3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
public class BridgeStreamApp {
public static void main(String[] args) throws IOException {
URL url = new URL("https://sample-videos.com/csv/Sample-Spreadsheet-100-rows.csv");
// 1byte 씩 읽어오는 스트림 획득
InputStream is = url.openStream();
// 1글자씩 읽어오는 스트림과 연결
InputStreamReader isr = new InputStreamReader(is);
//
BufferedReader reader = new BufferedReader(isr);
String text = null;
while ((text = reader.readLine()) != null) {
System.out.println(text);
}
}
}
package day3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class StandardInputApp {
public static void main(String[] args) throws IOException {
// Scanner와 표준입력스트림을 연결해서 키보드 입력값 읽어오기
// Scanner scanner = new Scanner(System.in);
// System.out.println("메세지를 입력하세요");
// String text = scanner.nextLine();
// System.out.println("입력 메세지" + text);
// scanner.close();
// BufferedReader, InputStreamReader와 표준 입력스트림을 연결해서 키보드 입력값 읽어오기
InputStream is = System.in; // 키보드와 연결된 InputStream
InputStreamReader isr = new InputStreamReader(is); // InputStreamReader와 표준입력스트림 연결
BufferedReader reader = new BufferedReader(isr); // 표준입력스트림이 BufferedReader와
// 프로그램 <- BufferedReader <- InputStreamReader <- InputStream <- 키보드
System.out.print("메세지를 입력하세요 : ");
String text = reader.readLine();
System.out.println("입력 메세지 : " + text);
}
}
Author And Source
이 문제에 관하여(2021. 04. 23(금) TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eastgun_/2021.-04.-23금-TIL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)