✨
Java
  • 자바의 역사
  • Ch1
    • Before Start Java
      • History of Java
      • Feature of Java
      • API Documentation
      • Hello World!
      • eclipse shortcut
      • Eclipse IDE
      • GitHub to eclipse
  • Ch2
    • Variable
      • Variable
    • Variable Type
    • Character and String
    • Primitive type and range
    • printf and formatter
    • Scanner
    • Overflow of Int
    • Transition between different variable types
    • Object Array
  • CH3
    • Operator
  • CH4
    • 조건문과 반복문
    • if statement
    • switch
    • Math.random()
    • for statement
    • while statement
    • break, continue, named iterated statement
  • CH5
    • Array
    • 배열 활용
    • String Array
  • OOP
    • Intro
  • Class and Object
  • Make multiple Classes in one file
  • How to use Object
  • Object Array
  • Variable type according to declared location
  • Class Variable and Instance Variable
  • Method
  • Call Stack
  • Parameter
  • Static method(Class method) and Instance method
  • (Method)Overloading
  • Constructor
  • Constructor this()
  • Reference type variable "this"
  • Initialize variable
  • Inheritance
  • Composite
  • Single Inheritance, Object Class
  • (Method)Overriding
  • super, super()
  • package, class path
  • import, static import
  • modifier
  • access modifier
  • Encapsulation
  • Polymorphism
  • reference type transition
  • instanceof operator
  • Parameter polymorphism
  • Multiple object using one array
  • Abstract Class, Abstract Method
  • Creating Abstract Class
  • Interface
  • Interface Polymorphism
  • Interface Pros
  • Default method and static method
  • Inner Class
  • Anonymous Class
  • java.lang package and useful class
    • Object class
    • hashCode(), toString()
    • String class
    • StringBuffer class
    • StringBuilder class
    • Math class
    • Wrapper class
    • Number class
    • String to Number, String to Wrapper class
    • Auto-boxing and (auto)Unboxing
  • Collection Framework
    • Collections framework
    • List, Set, Map Interface
    • List의 removeAll() 과 clear() 비교
    • List Interface - ArrayList
    • How to view Java API source
    • List Interface - LinkedList
    • Stack and Queue
    • Iterator, ListIterator, Enumeration
    • Array
    • Comparator와 Comparable
    • Stack
    • String
    • String + char = String
    • String.toCharArray()
    • BufferedReader / BufferWriter
    • Scanner로 String 입력 - next( )와 nextLine( )
    • 공백없이 2차원배열 데이터 String으로 한번에 한줄씩 입력받기(문자/숫자)
    • 공백을 사이에 두고 빠른 2차원 배열 입출력
    • arr[index++]과 arr[index] index++의 차이
    • int와 long의 차이
    • Untitled
    • 타입 간의 변환
    • Array 와 ArrayList
    • valueOf()
    • Char
    • 변수, 객체 초기화(초기값 설정)
  • error troubleshooting
    • No enclosing instance of type
    • ASCII Code Table
    • java.lang.NumberFormatException
    • No enclosing instance..
  • reference
    • String을 생성하는 2가지 방법과 차이점
    • StackOverflowError(스택, 힙 메모리)
    • swtich-case 반복문
Powered by GitBook
On this page

Was this helpful?

  1. Collection Framework

BufferedReader / BufferWriter

버퍼를 이용해서 읽고 쓰는 함수.

버퍼를 사용하지 않는 입력 : 키보드의 입력이 크를 누르는 즉시 바로 전달됨.

버퍼를 사용하는 입력 : 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송함. 버퍼가 가득 차거나 개행 문자가 나타나면 버퍼 내용을 한번에 전송함.

하드디스크는 속도가 엄청 느리다. 하드디스크 뿐만 아니라 키보드나 모니터 같은 외부장치와의 데이터 입출력은 시간이 오래 걸린다. 버퍼를 사용해서 데이터를 한데 묶어 이동시키는 것이 훨씬 효율적이고 빠르다.

버퍼 입출력

  • 버퍼 - 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 임시 메모리 영역 - 입출력 속도 향상을 위해 버퍼 사용

  • 버퍼 플러시(buffer flush) : 버퍼에 남아 있는 데이터를 출력(버퍼를 비우는 동작)

  • 버퍼를 이용한 입력 : BufferedReader

  • 버퍼를 이용한 출력 : BufferedWriter

BufferedReader, BufferedWriter 사용방법

  1. import java.io.*;

  2. throws IOException 추가 : 입출력 예외처리 println(), printf(), printf() : 메서드 내에 자체적으로 출력 시 예외처리가 정의되어 있다. 자바에서는 입력과 출력으로부터 일어날 수 있는 예외처리에 대해 까다로운 문법을 적용한다. 프로그램이 실행될 때 언제 어떤 문제가 발생할 지 모르는 일이기 때문에 프로그램을 만들 때는 예외로 발생하는 상황에 대처해야 하는데, 자바에서 입력과 출력 시 발생할 수 있는 예외에 대해 까다롭게 규정하고 있다. input과 output은 실행단계 이전에 반드시 이를 해야하므로 throws IOException을 추가하여 예외처리를 꼭 해주어야 한다. 입력과 출력을 . 다루는 메서드에 대한 예외처리가 없다면 컴파일 에러가 발생하게 된다!

BufferedReader의 readLine( )을 사용하면 데이터를 라인 단위로 읽을 수 있다. readLine 함수의 리턴 값은 String으로 고정되기 때문에 String이 아닌 다른 타입으로 입력 받으려면 형변환 꼭 해줘야한다.

import java.util.*;
import java.io.*;
public class StackArray throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String str = br.readLine();//push 17
    String[] line = str.split(" ");
    String cmd = line[0];
    int n = Integer.parseInt(line[1]);
}
PreviousString.toCharArray()NextScanner로 String 입력 - next( )와 nextLine( )

Last updated 4 years ago

Was this helpful?