제11장 자바 입출력

Size: px
Start display at page:

Download "제11장 자바 입출력"

Transcription

1 프로그래머를위한 Java 2, 4 판 제11 장자바입출력

2 스트림개념 스트림 순서가있고, 길이가정해져있지않은데이터흐름 종류...InputStream 자바입출력 바이트 ( 바이너리, 숫자 ) 텍스트 ( 문자 )...OutputputStream...Reader...Writer 자바입출력 2

3 스트림개념 바이트스트림 바이너리 (binary) 데이터와숫자를읽고, 쓰기위해서사용. 예 : 그림파일, 동영상파일, 응용프로그램파일등 바이트단위로입출력작업 InputStream Java Program OutputStream 자바입출력 3

4 스트림개념 문자스트림 문자스트림은문자데이터를읽고, 쓰기위해서사용. 인코딩을자동으로변환해줌 KSC5601 인코딩 Reader 유니코드인코딩 Java Program Writer KSC5601 인코딩 자바입출력 4

5 자바입출력클래스분류와상속관계 용도에따른분류 데이터싱크스트림 데이터를근원지에서직접읽거나, 목적지에기록하는클래스들 데이터프로세싱스트림 다른스트림을이용해서중간에서어떤작업을수행하는클래스들 샤워의비유 수도꼭지 -> 싱크스트림 샤워기, 수도꼭지와샤워기를연결하는것 -> 프로세싱스트림 Java 싱크스트림 Program 프로세싱스트림 자바입출력 5

6 자바입출력클래스분류와상속관계 클래스들분류 자바입출력 6

7 자바입출력클래스분류와상속관계 싱크스트림클래스들 Console System.in/out 자바입출력 7

8 자바입출력클래스분류와상속관계 데이터프로세싱스트림클래스 데이터프로세싱스트림은항상다른스트림을이용해서만생성가능 데이터프로세싱스트림의생성자는다른스트림을매개변수로받게됨 자바입출력 8

9 자바입출력클래스분류와상속관계 바이트스트림상속관계 InputStream 과 OutputStream 으로부터상속받음. 회색은싱크스트림클래스 자바입출력 9

10 자바입출력클래스분류와상속관계 문자스트림상속관계 Reader 와 Writer 클래스로부터상속받는다. 회색은싱크스트림클래스 자바입출력 10

11 InputStream/OutputStream 추상클래스 InputStream 클래스 바이트 (byte) 입력스트림을위한가장상위클래스. System.in 대표적인메소드들 int read() - 입력스트림에서한바이트를읽어서리턴. int read(byte[] b, int off, int len) - 입력스트림에서 len 개의바이트를읽어서바이트배열 b에저장. int read(byte[] b) - 배열의크기만큼읽는다. 읽은바이트수리턴. 자바입출력 11

12 InputStream/OutputStream 추상클래스 예제 : SimpleRead.java 8 try { 9 b = System.in.read(); 10 while(b!= -1) { 11 System.out.print((char)b); 12 count++; 13 b = System.in.read(); 14 } 결과 C:\> java SimpleRead Hello Hello 한글??±? ^Z total bytes:13 15 } catch(ioexception e) { 16 System.out.println(e); 17 } 18 System.out.println(); 19 System.out.println("total byte:" + count); 자바입출력 12

13 InputStream/OutputStream 추상클래스 콘솔 리다이렉션 C: > java SimpleRead < SimpleRead.java import java.io.ioexception;... C: > java SimpleRead < SimpleRead.java > output.txt C: > more output.txt import java.io.ioexception; 자바입출력 13

14 InputStream/OutputStream 추상클래스 Scanner 클래스 C 언어의 scanf() 함수와비슷한형태의입력을지원함 예제 : ScannerTest.java 7 Scanner sc = Scanner.create(System.in); 8 while(sc.hasnextint()) { 결과 9 int i = sc.nextint(); C:\> java ScannerTest 10 System.out.println(i); ->1 2 a 4 b 1 11 } System.out.println(" "); a 14 while(sc.hasnext()) { 4 b 15 String s = sc.next(); ^Z 자바입출력 14

15 InputStream/OutputStream 추상클래스 ConsoleReader 클래스 콘솔에서데이터를쉽게읽기위한사용자정의클래스 예제 : ConsoleReader.java 3 public class ConsoleReader extends BufferedReader { 4 public ConsoleReader(Reader in) throws IOException { 5 super(in); 6 } 7 8 public ConsoleReader(InputStream in) throws IOException { 9 super(new InputStreamReader(in)); 10 } public int readint() throws IOException { 13 return Integer.parseInt(readLine().trim()); 자바입출력 15

16 InputStream/OutputStream 추상클래스 예제 : ConsoleReader.java( 계속 ) 16 public String readstring() throws IOException { 17 return readline().trim(); 18 } public char readchar() throws IOException { 21 String line = readline().trim(); 22 return line.charat(0); 23 } public double readdouble() throws IOException { 26 Double d = new Double(readLine().trim()); 27 return d.doublevalue(); 자바입출력 16

17 InputStream/OutputStream 추상클래스 예제 : ConsoleReaderTest.java 11 ConsoleReader in = new ConsoleReader(System.in); 12 System.out.print(" 정수를입력해주세요 :"); 13 ivalue = in.readint(); 14 System.out.println("value = " + ivalue); 15 System.out.print(" n 실수를입력해주세요 :"); 16 dvalue = in.readdouble(); 17 System.out.println("value = " + dvalue); 18 System.out.print(" n 문자를입력해주세요 :"); 19 cvalue = in.readchar(); 20 System.out.println("value = " + cvalue); 21 System.out.print(" n 문자열을입력해주세요 :"); 22 svalue = in.readstring(); 23 System.out.println("value = " + svalue); 자바입출력 17

18 InputStream/OutputStream 추상클래스 Copier 클래스 입력스트림에서읽은데이터를출력스트림으로출력하는사용자정의클래스 예제 : Copier.java 3 public class Copier { 4 protected InputStream in; 5 protected OutputStream out; 6 protected byte data[]; 7 8 public Copier(InputStream in, OutputStream out, int sz) { 9 this.in = in; 10 this.out = out; 11 data = new byte[sz]; 자바입출력 18

19 InputStream/OutputStream 추상클래스 예제 : Copier.java( 계속 ) 14 public Copier(InputStream in, OutputStream out) { 15 this(in, out, 1024); 16 } public void copy() throws IOException { 19 int n = 0; 20 while((n = in.read(data))!= -1) { 21 out.write(data, 0, n); 22 } 23 in.close(); 24 out.close(); 자바입출력 19

20 FileInputStream/FileOutputStream FileInputStream 파일에서바이트단위로내용을읽기위해사용 생성자 FileInputStream(File file) FileInputStream(String name) FileOutputStream 파일로바이트단위로내용을출력하기위해사용 생성자 FileOutputStream(File file) FileOutputStream(String name, boolean append) FileOutputStream(String name) 자바입출력 20

21 FileInputStream/FileOutputStream 예제 : ConsoleCopy.java 결과 C:\> java ConsoleCopy abc.txt 4 public static void main(string args[]) { 한글입니다. 5 if(args.length!= 1) { ^Z 6 System.out.println( C:\> more abc.txt 7 "usage: java ConsoleCopy <filename>"); 한글입니다. 8 System.exit(1); 9 } 10 try { 11 Copier cp = new Copier(System.in, 12 new FileOutputStream(args[0])); 13 cp.copy(); 자바입출력 21

22 FileInputStream/FileOutputStream 예제 : More.java 4 public static void main(string args[]) { 5 if(args.length!= 1) { 6 System.out.println( 7 "usage: java More <filename>"); 결과 C:\> java More More.java import java.io.*; public class More {... 8 System.exit(1); 9 } 10 try { 11 Copier cp = new Copier(new FileInputStream(args[0]), 12 System.out); 13 cp.copy(); 자바입출력 22

23 FileInputStream/FileOutputStream 예제 : FileCopy.java 결과 C:\> java FileCopy abc.txt bc.txt 5 if(args.length!= 2) { 파일복사가완료되었습니다. 6 System.out.print("usage: java FileCopy "); C:\> more bc.txt 7 System.out.println("<filename> <filename>"); 한글입니다. 8 System.exit(1); 9 } 10 try { 11 Copier cp = new Copier(new FileInputStream(args[0]), 12 new FileOutputStream(args[1])); 13 cp.copy(); 14 System.out.println(" 파일복사가완료되었습니다."); 자바입출력 23

24 FileReader/FileWriter FileReader 파일에서문자단위로내용을읽을때사용 생성자 FileReader(File file) FileReader(String filename) FileWriter 파일에문자데이터를출력할때사용 생성자 FileWriter(File file) FileWriter(String filename, boolean append) FileWriter(String filename) 자바입출력 24

25 FileReader/FileWriter 예제 : ReadFileData.java 10 try { 11 ConsoleReader in = new ConsoleReader( 12 new FileReader("data.txt")); 13 ivalue = in.readint(); 14 System.out.println("value = " + ivalue); 15 dvalue = in.readdouble(); 16 System.out.println("value = " + dvalue); 17 cvalue = in.readchar(); 18 System.out.println("value = " + cvalue); 19 svalue = in.readstring(); 20 System.out.println("value = " + svalue); 자바입출력 25

26 InputStreamReader/OutputStreamWriter InputStreamReader 입력스트림을 Reader 타입으로변환 생성자 InputStreamReader(InputStream in, String enc) InputStreamReader(InputStream in) OutputStreamWriter 출력스트림을 Writer 클래스로변환 생성자 OutputStreamWriter(OutputStream out, String enc) OutputStreamWriter(OutputStream out) 자바입출력 26

27 PrintStream/PrintWriter PrintStream 데이터출력 ( 예 : System.out, System.err) 생성자 PrintStream(OutputStream out, boolean autoflush) PrintStream(OutputStream out) PrintWriter 문자데이터출력 생성자 PrintWriter(OutputStream out, boolean autoflush) PrintWriter(OutputStream out) PrintWriter(Writer out, boolean autoflush) PrintWriter(Writer out) 자바입출력 27

28 PrintStream/PrintWriter ConsoleWriter 출력을보다편리하게할수있는사용자정의클래스 예제 : ConsoleWriter.java 4 public class ConsoleWriter extends PrintWriter { 5 public ConsoleWriter(OutputStream out) { 6 super(out, true); 9 public ConsoleWriter(Writer out) { 10 super(out, true); 13 public void printwon(long value) { 14 String format = "W#,###"; 15 DecimalFormat df = new DecimalFormat(format); 16 print(df.format(value)); 자바입출력 28

29 PrintStream/PrintWriter 예제 : ConsoleWriter.java( 계속 ) 24 public void printdollar(float value) { 25 String format = "$#,###.00"; 26 DecimalFormat df = new DecimalFormat(format); 27 print(df.format(value)); 35 public void print(double value, int digit) { 36 String format = "#."; 37 for(int i=0; i < digit; i++) { 38 format += "#"; 39 } 40 DecimalFormat df = new DecimalFormat(format); 41 print(df.format(value)); 42 flush(); 자바입출력 29

30 PrintStream/PrintWriter 예제 : ConsoleWriterTest.java 5 ConsoleWriter out = new ConsoleWriter(System.out); 6 double d = ; 7 int money = ; 8 9 out.println(d); 10 out.println(d, 2); 11 out.printlnwon(money); 12 out.printlndollar(money); 결과 C:\> java ConsoleWriterTest W1,234,567 $1,234, 자바입출력 30

31 BufferedInputStream/BufferedOutputStream BufferedInputStream 바이트입력에서성능을높이기위해서버퍼를사용하는클래스 생성자 BufferedInputStream(InputStream in, int size) BufferedInputStream(InputStream in) BufferedOutputStream 바이트출력에서성능을높이기위해서버퍼를사용하는클래스 생성자 BufferedOutputStream(OutputStream out, int size) BufferedOutputStream(OutputStream out) 자바입출력 31

32 BufferedReader/BufferedWriter BufferedReader 버퍼를사용하는 Reader 생성자및중요메소드 BufferedReader(Reader in, int sz) BufferedReader(Reader in) String readline() BufferedWriter 버퍼를사용하는 Writer 생성자 BufferedWriter(Writer out, int sz) BufferedWriter(Writer out) 자바입출력 32

33 BufferedReader/BufferedWriter 예제 : ConfigurationReader.java 28 BufferedReader br = 29 new BufferedReader(new FileReader(file) ); while((rl=br.readline())!= null) { 32 rl = rl.trim(); 33 if(rl.charat(0) == comment ) { 34 continue; 35 } else { 36 StringTokenizer st = 37 new StringTokenizer(rl,delm,false); 38 String key = st.nexttoken(); 39 String value = st.nexttoken(); 40 ht.put(key, value); 자바입출력 33

34 BufferedReader/BufferedWriter 예제 : ConfigurationReader.java( 계속 ) 46 public String getvalue(string name) { 47 return (String)ht.get(name); 결과 48 } C:\> java ConfigurationReader public static void main(string args[]) { it.mokpo.ac.kr 51 ConfigurationReader cr = admin@it.mokpo.ac.kr 52 new ConfigurationReader("server.conf"); 53 try { 54 cr.parse(); 55 System.out.println(cr.getValue("port")); 56 System.out.println(cr.getValue("server")); 57 System.out.println(cr.getValue("admin")); 자바입출력 34

35 DataInputStream/DataOutputStream DataInputStream 데이터타입별로읽을때사용 생성자및중요메소드 DataInputStream(InputStream in) char readchar() double readdouble() int readint() DataOutputStream 데이터타입별로출력 생성자및중요메소드 DataOutputStream(OutputStream out) void writechar(int v) void writeint(int v) 자바입출력 35

36 DataInputStream/DataOutputStream 예제 : DataIOTest.java 12 public void write() throws IOException { 13 DataOutputStream out = new 14 DataOutputStream(new FileOutputStream(file)); 15 int value[] = Fibonachi.calculate(n); 16 for(int i=0; i <= n; i++) { 17 out.writeint(value[i]); 18 //System.out.println(value[i]); 19 } 20 out.flush(); 21 out.close(); 자바입출력 36

37 DataInputStream/DataOutputStream 예제 : DataIOTest.java( 계속 ) 24 public void read() throws IOException { 25 DataInputStream in = 26 new DataInputStream(new FileInputStream(file)); 27 int n = in.available()/4; 28 //System.out.println("# of data = " + n); 29 for(int i=0; i < n; i++) { 30 int v = in.readint(); 31 System.out.println("f["+i+"] = " + v); 32 } 33 in.close(); 34 } 자바입출력 37

38 ObjectInputStream/ObjectOutputStream ObjectInputStream 저장된객체를읽는다. 생성자및중요메소드 ObjectInputStream(InputStream in) Object readobject() ObjectOutputStream 객체를저장한다. 생성자및중요메소드 ObjectOutputStream(OutputStream out) void writeobject(object obj) 자바입출력 38

39 ObjectInputStream/ObjectOutputStream 예제 : SerializedDate.java 15 public void write(string file) { 16 try { 17 FileOutputStream fout = new FileOutputStream(file); 18 os = new ObjectOutputStream(fout); 19 System.out.println("We save this date.. :"+ date); 20 os.writeobject(date); 21 os.close(); 22 } catch(ioexception e) { 23 e.printstacktrace(); 24 } 25 } 자바입출력 39

40 ObjectInputStream/ObjectOutputStream 예제 : SerializedDate.java( 계속 ) 27 public void read(string file) { 28 try { 29 FileInputStream fin = new FileInputStream(file); 30 is = new ObjectInputStream(fin); 31 date = (Date)is.readObject(); 32 System.out.println("We gets saved old date.. :"+ date); 33 System.out.println("Current date is.. :"+ new Date()); 34 } catch(ioexception e) { 35 e.printstacktrace(); 36 } catch(classnotfoundexception nfe) { 37 nfe.printstacktrace(); 38 } 자바입출력 40

41 StringReader/StringWriter StringReader 문자열에서다른 Reader와동일한방법으로데이터를읽은수있는방법을제공 생성자 StringReader(String s) StringWriter 문자열에다른 Writer와동일한방법으로데이터를출력하는방법제공 생성자 StringWriter() StringWriter(int initialsize) 자바입출력 41

42 RandomAccessFile RandomAccessFile 입출력포인터의위치를자유롭게이동 생성자및중요메소드 RandomAccessFile(String filename, String openmode) void seek(long pos) long length() boolean readboolean() char readchar() double readdouble() float readfloat() int readint() long readlong() 자바입출력 42

43 RandomAccessFile Record 직원정보를표현하기위한사용자정의클래스 예제 : Record.java 1 public class Record { 2 private String name; 3 private int num; 4 private String part; 5 private String tel; 6 7 public Record(String na, int n, String p, String t) { 8 name = na; 9 num = n; 10 part = p; 11 tel = t; 자바입출력 43

44 RandomAccessFile DataTable Record 클래스를 RandomAccessFile을이용해서파일에저장및읽기위한사용자정의클래스 Record 객체의크기 : 42 바이트 RandomAccessFile의첫4 바이트는 Record 객체의개수를의미 예제 : DataTable.java 9 public DataTable(String file) { 10 try { 11 dbfile = new RandomAccessFile(file, "rw"); 12 if(dbfile.length() ==0) { 13 rc = 0; 14 } else { 15 rc = dbfile.readint(); 자바입출력 44

45 RandomAccessFile 예제 : DataTable.java( 계속 ) 39 public Record readrec(int index) { 44 dbfile.seek(index * recordlength + recordoffset); 45 for(int i = 0; i < 5; i++) { 46 name += dbfile.readchar(); 49 num = dbfile.readint(); for(int i = 0; i < 6;i++) { 52 part += dbfile.readchar(); 61 return (new Record(name, num, part, tel)); 자바입출력 45

46 RandomAccessFile 예제 : DataTable.java( 계속 ) 88 public void writerec(string name, int num, String part, 89 String tel, int index) { 93 dbfile.seek(index * recordlength + recordoffset); 94 len = name.length(); 95 for(int i =0; i < 5; i++) { 96 dbfile.writechar((i < len? name.charat(i):' ')); 99 dbfile.writeint(num); 111 dbfile.seek(0); 112 dbfile.writeint(rc); 자바입출력 46

47 RandomAccessFile CMD 작업명형어를기술하기위한사용자정의열거형 예제 : CMD.java 1 public enum CMD { 2 NONE, ADD, TOTAL, SEARCH, REMOVE, ESC; 3 } 자바입출력 47

48 예제 : EmployeeDB.java RandomAccessFile 18 action = CMD.NONE; 27 table = new DataTable(dbFile); 121 private void add() { 135 namestring = name.gettext().trim(); 136 num = number.gettext().trim(); 137 part = dept.gettext().trim(); 138 tel = phone.gettext().trim(); display.settext(namestring + num + part + tel); 141 table.add(namestring, Integer.parseInt(num), part, tel); 142 display.append(" n 등록을성공적으로마쳤습니다."); 자바입출력 48

49 RandomAccessFile 예제 : EmployeeDB.java( 계속 ) 154 private void total() { 155 action = CMD.TOTAL; 156 int len = table.length(); 157 display.settext(" n 검색건수 : 총 " + len + " 건 n"); 158 display.append(" n==============================="); 159 display.append(" n 순번 t성명 t사번 t부서 t전화 "); 160 display.append(" n============================== n"); 161 if(len == 0) { 162 display.append(" 등록된자료가없습니다. n"); 163 return; 164 } 165 for(int i = 0; i < len; i++) { 166 Record rec = table.readrec(i); 167 print(i, rec.getname(), rec.getnum(), 168 rec.getpart(), rec.gettel()); 자바입출력 49

50 RandomAccessFile 예제 : EmployeeDB.java( 계속 ) 181 private void search() { 193 int len = table.length(); 202 for(int i = 0; i < len ; i++) { 203 rec = table.readrec(i); 204 if(namestring.equals(table.readname(i, 205 namestring.length()))) { 206 found = true; 207 print(i, rec.getname(), rec.getnum(), 208 rec.getpart(), rec.gettel()); 209 } 210 } 211 if (!found) { 212 display.settext(" 조회하신직원이없습니다."); 자바입출력 50

51 RandomAccessFile EmployeeDB 결과 자바입출력 51

52 StreamTokenizer StreamTokenizer 입력스트림의내용을토큰 (token) 으로잘라서리턴하는클래스 입력스트림의내용을공백문자, 알파벳, 숫자, 문자열, 주석이라는 5개종류의토큰으로파싱할수있다. 생성자, 멤버필드, 메소드 StreamTokenizer(Reader r) double nval - 현재토큰이숫자인경우에현재토큰의숫자값 String sval - 현재토큰이단어인경우에현재토큰의문자열 static int TT_EOF - 파일의끝 static int TT_EOL - 현재라인의끝 static int TT_NUMBER - 읽은토큰이숫자임 static int TT_WORD - 읽은토큰이단어임 int ttype - nexttoken() 자바입출력 52

53 StreamTokenizer StreamTokenizer 클래스의상태변화 상태입력액션새로운상태 Idle 단어문자 입력스트림에돌려준다. Accumulate ordinary 문자 문자를리턴한다 Idle 공백문자문자를소비한다 Idle accumulate 단어문자현재단어에추가한다. Accumulate ordinary 문자 현재단어를리턴하고, 현재문자는입력스트림에돌려준다. Idle 공백문자현재단어를리턴하고, 현재문자는입력스트림에돌려준다. Idle 자바입출력 53

54 파일 (File) File 파일과디렉토리를표현하기위해서사용 File 클래스가할수있는일 디렉토리내용을알아본다. 파일속성을알아보거나설정한다. 파일의이름을변경하거나삭제한다. 생성자및메소드 File(File parent, String child) File(String pathname) String getname() long length() File[] listfiles() 자바입출력 54

55 파일 (File) FilenameFilter 파일이름을필터링해서원하는형태의파일이름을갖는파일들만선택하도록지원한다. 메소드 boolean accept(file dir, String name) 자바입출력 55

56 파일 (File) 예제 : ExtensionFilter.java 3 public class ExtensionFilter implements FilenameFilter { 4 protected String ext; 5 6 public ExtensionFilter(String ext) { 7 this.ext = ext; 8 } 9 10 public boolean accept(file dir, String name) { 11 if(name.endswith(ext)) { 12 return true; 13 } else { 14 return false; 자바입출력 56

57 파일 (File) 예제 : Dir.java 13 File files[] = null; 14 if(filter!= null) { 15 files = d.listfiles(filter); 16 } else { 17 files = d.listfiles(); 18 } 19 if(files == null) { 20 System.err.println(d.getName() + " 디렉터리가없습니다."); 21 return; 22 } 23 for(int i=0; i < files.length; i++) { 24 System.out.print(files[i].getName()); 25 System.out.print(" t t"); 26 System.out.println(files[i].length()); 자바입출력 57

58 11.3 정규식 (regular expression) 정규식표기법 자바입출력 58

59 11.3 정규식 (regular expression) Pattern 정규식을표현하기위해서사용되는클래스 메소드들 static Pattern compile(string regex) static Pattern compile(string regex, int flags) Matcher matcher(charsequence input) 플래그들 static int CASE_INSENSITIVE static int COMMENTS static int DOTALL static int MULTILINE static int UNICODE_CASE static int UNIX_LINES 자바입출력 59

60 11.3 정규식 (regular expression) 예제 : DataSpliter.java 6 public DataSpliter(String reg) { 7 pat = Pattern.compile(reg); 8 } 9 10 public String[] getvalue(string data) { 11 return pat.split(data); 12 } public static void main(string args[]) { 15 String data = " 홍길동, , hong@some.com"; 16 DataSpliter ds = new DataSpliter("[, s]+"); 17 String value[] = ds.getvalue(data); 18 for(int i=0; i < value.length; i++) { 19 System.out.println(value[i]); 자바입출력 60

61 11.3 정규식 (regular expression) Matcher 클래스 문자들을패턴에매치시키는역할을함. 메소드들 boolean matches() boolean find() Matcher appendreplacement(stringbuffer sb, String replacement) StringBuffer appendtail(stringbuffer sb) 자바입출력 61

62 11.3 정규식 (regular expression) 예제 : ReplaceTest.java 5 String data = " 홍길동, , hong@some.com"; 6 Pattern pat = Pattern.compile("[, s]+"); 7 Matcher m = pat.matcher(data); 8 StringBuffer sb = new StringBuffer(); 9 boolean result = m.find(); 10 while(result == true) { 11 m.appendreplacement(sb, ":"); 12 result = m.find(); 13 } 14 m.appendtail(sb); 15 System.out.println(data + " =>"); 16 System.out.println(sb.toString()); 자바입출력 62

63 11.4 새로운 I/O (NIO) NIO 버퍼관리와네트워크등에서성능을향상시키기위한기능들을제공 클래스상속관계 자바입출력 63

Network Programming

Network Programming Part 4 자바네트워크프로그래밍 1. Java IO 2. 스레드 (Thread) 클래스의소개 3. Java Socket 1. 자바입출력 Java_source->src->ch11 1.0 I/O Stream

More information

제11장 자바 입출력

제11장 자바 입출력 제11 장자바입출력 Java_surce->src->ch11 I/O Stream gic 자바입출력 2 서버와클라이언트의소켓준비 자바입출력 3 11.1.1 스트림개념 스트림 순서가있고, 길이가정해져있지않은데이터흐름종류 자바입출력 바이트 ( 바이너리, 숫자 ) 텍스트 ( 문자 )...InputStream...OutputputStream...Reader...Writer

More information

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 24 장입출력 이번장에서학습할내용 스트림이란? 스트림의분류 바이트스트림 문자스트림 형식입출력 명령어행에서입출력 파일입출력 스트림을이용한입출력에대하여살펴봅시다. 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 스트림들은연결될수있다. 중간점검문제 1. 자바에서는입출력을무엇이라고추상화하는가?

More information

09-Java Input Output

09-Java Input Output JAVA Programming Language JAVA Input/Output 2 (1) (Stream) 2,,,,, 3 (2) InputStream OutputStream, 8 Reader Writer, 16 4 (3) Data Source/Dest. (byte stream) InputStream OutputStream Java Internal (byte,

More information

파일로출력하는작업순서 1. 파일을연다. 2. 파일로자료를쓴다. 3. 파일을닫는다. 파일입출력에사용되는클래스들. FileInputStream, FileOutputStream, FileReader, FileWriter 문자단위로입출력하기 사람이읽을수있는문자로만구성된파일을읽

파일로출력하는작업순서 1. 파일을연다. 2. 파일로자료를쓴다. 3. 파일을닫는다. 파일입출력에사용되는클래스들. FileInputStream, FileOutputStream, FileReader, FileWriter 문자단위로입출력하기 사람이읽을수있는문자로만구성된파일을읽 파일다루기 1 데이터는이곳에서저곳으로흘러간다. - 즉, 데이터는스트림 (stream) 이되어서일렬로이곳에서저곳으로이동한다. - 자바프로그램에서입출력되는모든데이터는스트림형태로주고받는다. 키보드에서입력되는데이터나모니터로출력되는데이터, 파일로부터읽은데이터, 파일로출력하는데이터들도모두스트림형태이다. - 스트림은흐르는방향에따라입력스트림 (input stream) 과출력스트림

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 File Class File 클래스 파일의읽고쓰기를제외하고파일과디렉토리에대한필요한많은기능등을제공 파일과디렉토리의정보를조사하고, 이들을생성및삭제하는메소드등이 File 클래스에포함 File 클래스의생성자 File(File parent, String child) File(String pathname)

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

자바입출력구조 자바입출력 파일 기본입출력 필터입출력 문자입출력 비순차접근파일 객체입출력 파일입출력 바이트배열입출력 파이프입출력 연결형입력 스트링버퍼입력 스트림 ( 순차접근 ) 자바입출력구조

자바입출력구조 자바입출력 파일 기본입출력 필터입출력 문자입출력 비순차접근파일 객체입출력 파일입출력 바이트배열입출력 파이프입출력 연결형입력 스트링버퍼입력 스트림 ( 순차접근 ) 자바입출력구조 Java IO 자바입출력구조 자바입출력 파일 기본입출력 필터입출력 문자입출력 비순차접근파일 객체입출력 파일입출력 바이트배열입출력 파이프입출력 연결형입력 스트링버퍼입력 스트림 ( 순차접근 ) 자바입출력구조 스트림이란? 일차원적인데이터의흐름 흐름의방향에따른분류 - 입력스트림 (input stream) - 출력스트림 (output stream) 데이터의형태에따른분류

More information

자바-11장N'1-502

자바-11장N'1-502 C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),

More information

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

Java

Java Java http://cafedaumnet/pway Chapter 1 1 public static String format4(int targetnum){ String strnum = new String(IntegertoString(targetNum)); StringBuffer resultstr = new StringBuffer(); for(int i = strnumlength();

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Microsoft PowerPoint - java1-lecture9.ppt [호환 모드]

Microsoft PowerPoint - java1-lecture9.ppt [호환 모드] 스트림 Stream, Buffer, File I/O 514760-1 2017 년가을학기 11/13/2017 박경신 자바의스트림 자바스트림은입출력장치와자바응용프로그램연결 입출력장치와프로그램사이의데이터흐름을처리하는소프트웨어모듈 입력스트림 입력장치로부터자바프로그램으로데이터를전달하는소프트웨어모듈 출력스트림 자바프로그램에서출력장치로데이터를보내는소프트웨어모듈 입출력스트림기본단위

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 JAVA Essential 1 2 학습목표 1. 자바의입출력스트림에대한이해 2. 텍스트파일입출력 3. 바이너리파일입출력 4. File 클래스로파일속성알아내기 5. 파일복사응용사례 자바의입출력스트림 3 자바의입출력스트림 입출력장치와자바응용프로그램연결 입력스트림 : 입력장치로부터자바프로그램으로데이터를전달하는객체 출력스트림 : 자바프로그램에서출력장치로데이터를보내는객체

More information

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 25 장네트워크프로그래밍 이번장에서학습할내용 네트워크프로그래밍의개요 URL 클래스 TCP를이용한통신 TCP를이용한서버제작 TCP를이용한클라이언트제작 UDP 를이용한통신 자바를이용하여서 TCP/IP 통신을이용하는응응프로그램을작성하여봅시다. 서버와클라이언트 서버 (Server): 사용자들에게서비스를제공하는컴퓨터 클라이언트 (Client):

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

4장.문장

4장.문장 문장 1 배정문 혼합문 제어문 조건문반복문분기문 표준입출력 입출력 형식화된출력 [2/33] ANSI C 언어와유사 문장의종류 [3/33] 값을변수에저장하는데사용 형태 : < 변수 > = < 식 > ; remainder = dividend % divisor; i = j = k = 0; x *= y; 형변환 광역화 (widening) 형변환 : 컴파일러에의해자동적으로변환

More information

Microsoft PowerPoint - 2강

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

java.lang 패키지 java.util 패키지 java.io 패키지 콜렉션 2

java.lang 패키지 java.util 패키지 java.io 패키지 콜렉션 2 java.lang 패키지 java.util 패키지 java.io 패키지 콜렉션 kkman@sangji.ac.kr 2 서로연관된클래스나인터페이스를하나의단위로묶는방법 자주사용되는클래스나인터페이스를위해패키지를제공 기본패키지 java.lang, java.util, java.io, java.net, java.awt, java.applet,... 사용자정의패키지 패키지이름은소문자로...

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 2 xmlns:tools=http://schemas.android. 10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1

More information

Microsoft PowerPoint - java2-lecture2.ppt [호환 모드]

Microsoft PowerPoint - java2-lecture2.ppt [호환 모드] 스트림 FileIO, Exception Handling 514770 2018 년가을학기 9/17/2018 박경신 자바의스트림 자바스트림은입출력장치와자바응용프로그램연결 입출력장치와프로그램사이의데이터흐름을처리하는소프트웨어모듈 입력스트림 입력장치로부터자바프로그램으로데이터를전달하는소프트웨어모듈 출력스트림 자바프로그램에서출력장치로데이터를보내는소프트웨어모듈 입출력스트림기본단위

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

07 자바의 다양한 클래스.key

07 자바의 다양한 클래스.key [ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공 메신저의새로운혁신 채팅로봇 챗봇 (Chatbot) 입문하기 소 이 메 속 : 시엠아이코리아 름 : 임채문 일 : soulgx@naver.com 1 목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

More information

Microsoft PowerPoint - lec7_package [호환 모드]

Microsoft PowerPoint - lec7_package [호환 모드] Lecture 7: Package 패키지의선언 패키지의사용 JAR 파일 자바의언어패키지 2 연관된클래스나인터페이스를하나의단위로묶는방법 장점 여러개의클래스와인터페이스를하나의그룹으로다루는수단을제공 클래스이름사이의충돌문제를해결 패키지의종류 기본패키지 : java.lang, java.util, java.io, java.awt 사용자정의패키지 3 선언형태 package

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

Microsoft PowerPoint - java2-lab2-DirectoryImageConverter.pptx

Microsoft PowerPoint - java2-lab2-DirectoryImageConverter.pptx Lab #2 ( 디렉토리안에이미지파일포맷변환프로그램 ) 2017 학년도 1 학기 JAVA 프로그래밍 II 514770-1 2017 년봄학기 3/22/2017 박경신 기존요구사항분석 Lab #1은 inputimagefile, outputimagefile, format 에따라이미지파일포맷을변환시켜줌 - 최소 jpg, png, gif 영상포맷지원 ImageConverter

More information

13-Java Network Programming

13-Java Network Programming JAVA Programming Language JAVA Network Programming IP Address(Internet Protocol Address) URL(Uniform Resource Location) TCP(Transmission Control Protocol) Socket UDP(User Datagram Protocol) Client / Server

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

More information

Part 11 예외및입출력 1

Part 11 예외및입출력 1 Part 11 예외및입출력 1 이장의내용 p 예외필요성및기본개념을이해한다. p 예외처리방법을이해하고익힌다. p 자신의예외클래스를정의한다. p 예외전파에대해서이해하고활용한다. p Scaer에대해서깊이있게이해하고활용한다. p 다양한입출력스트림을이해하고활용한다. 2 11.1 예외 3 예외 p 예외혹은예외상황 (exceptio) p 예외를만났을때이를효과적으로처리하여계속실행해야한다.

More information

JMF3_심빈구.PDF

JMF3_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - lec2.ppt 2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만 강의내용 어휘구조 토큰 주석 자료형기본자료형 참조형배열, 열거형 2 어휘 (lexicon) 어휘구조와자료형 프로그램을구성하는최소기본단위토큰 (token) 이라부름문법적으로의미있는최소의단위컴파일과정의어휘분석단계에서처리 자료형 자료객체가갖는형 구조, 개념, 값, 연산자를정의 3 토큰 (token) 정의문법적으로의미있는최소의단위예,

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

TEST BANK & SOLUTION

TEST BANK & SOLUTION TEST BANK & SOLUTION 어서와자바는처음이지!" 를강의교재로채택해주셔서감사드립니다. 본문제집을만드는데나름대로노력을기울였으나제가가진지식의한계로말미암아잘못된부분이있을것으로사료됩니다. 잘못된부분을발견하시면 chunik@sch.ac.kr로연락주시면더좋은책을만드는데소중하게사용하겠습니다. 다시한번감사드립니다. 1. 자바언어에서지원되는 8 가지의기초자료형은무엇인가?

More information

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 클래스와메소드심층연구 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 접근제어 class A { private int a; int b; public int c; // 전용 // 디폴트 // 공용 public class Test { public static void main(string args[]) { A obj = new

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lab 4 ADT Design 클래스로정의됨. 모든객체들은힙영역에할당됨. 캡슐화 (Encapsulation) : Data representation + Operation 정보은닉 (Information Hiding) : Opertion부분은가려져있고, 사용자가 operation으로만사용가능해야함. 클래스정의의형태 public class Person { private

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 16 강. 파일입출력목차 파일입출력기초 파일입출력모드 텍스트파일과이진파일 이진파일입출력 임의접근 1 /18 16 강. 파일입출력파일입출력기초 파일입출력과정 파일스트림객체생성 파일열기 사용 : 기본적으로표준입출력객체 (cin, cout) 사용방법과동일 파일닫기 파일스트림클래스의종류

More information

(Microsoft PowerPoint - java2-lecture2.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java2-lecture2.ppt [\310\243\310\257 \270\360\265\345]) Array 기초문법배열, 문자열, 입출력 514770-1 2017 년봄학기 3/22/2017 박경신 배열 (array) 여러개의데이터를같은이름으로활용할수있도록해주는자료구조 인덱스 (Index, 순서번호 ) 와인덱스에대응하는데이터들로이루어진자료구조 배열을이용하면한번에많은메모리공간선언가능 배열은같은타입의데이터들이순차적으로저장되는공간 원소데이터들이순차적으로저장됨

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 Java Essential 1 2 학습목표 1. 소켓통신에대한이해 2. 자바로간단한소켓통신프로그램작성 TCP/IP 소개 3 TCP/IP 프로토콜 두시스템간에데이터가손상없이안전하게전송되도록하는통신프로토콜 TCP 에서동작하는응용프로그램사례 e-mail, FTP, 웹 (HTTP) 등 TCP/IP 특징 연결형통신 한번연결후계속데이터전송가능 보낸순서대로받아응용프로그램에게전달

More information

교육자료

교육자료 THE SYS4U DODUMENT Java Reflection & Introspection 2012.08.21 김진아사원 2012 SYS4U I&C All rights reserved. 목차 I. 개념 1. Reflection 이란? 2. Introspection 이란? 3. Reflection 과 Introspection 의차이점 II. 실제사용예 1. Instance의생성

More information

mytalk

mytalk 한국정보보호학회소프트웨어보안연구회 총괄책임자 취약점분석팀 안준선 ( 항공대 ) 도경구 ( 한양대 ) 도구개발팀도경구 ( 한양대 ) 시큐어코딩팀 오세만 ( 동국대 ) 전체적인 그림 IL Rules Flowgraph Generator Flowgraph Analyzer 흐름그래프 생성기 흐름그래프 분석기 O parser 중간언어 O 파서 RDL

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 예외처리 배효철 th1g@nate.com 1 목차 예외와예외클래스 실행예외 예외처리코드 예외종류에따른처리코드 자동리소스닫기 예외처리떠넘기기 사용자정의예외와예외발생 예외와예외클래스 구문오류 예외와예외클래스 구문오류가없는데실행시오류가발생하는경우 예외와예외클래스 import java.util.scanner; public class ExceptionExample1

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A

<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A 학습목표 자바의소켓포트의개념을이해한다 네트워크프로그래밍 클라이언트통신프로그램의구조를이해한다 소켓과클라이언트소켓을구분하여이해한다 11 주소켓 - 애코김문정 tops@u1.ac.kr 2 포트 (port) 데이터송수신창구 0~65536 (0~1024 : well-known port) ServerSocket 클래스 ( 소켓 ) ServerSocket 클래스에사용되는클래스

More information

JMF2_심빈구.PDF

JMF2_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스와메소드심층연구 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 접근제어 class A { private int a; int b; public int c; // 전용 // 디폴트 // 공용 public class Test { public static void main(string args[]) { A obj = new

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

[ 정보 ] 과학고 R&E 결과보고서 Monte Carlo Method 를이용한 고교배정시뮬레이션 연구기간 : ~ 연구책임자 : 강대욱 ( 전남대전자컴퓨터공학부 ) 지도교사 : 최미경 ( 전남과학고정보 컴퓨터과 ) 참여학생 : 박진명 ( 전

[ 정보 ] 과학고 R&E 결과보고서 Monte Carlo Method 를이용한 고교배정시뮬레이션 연구기간 : ~ 연구책임자 : 강대욱 ( 전남대전자컴퓨터공학부 ) 지도교사 : 최미경 ( 전남과학고정보 컴퓨터과 ) 참여학생 : 박진명 ( 전 [ 정보 ] 과학고 R&E 결과보고서 Monte Carlo Method 를이용한 고교배정시뮬레이션 연구기간 : 2013. 3 ~ 2014. 2 연구책임자 : 강대욱 ( 전남대전자컴퓨터공학부 ) 지도교사 : 최미경 ( 전남과학고정보 컴퓨터과 ) 참여학생 : 박진명 ( 전남과학고 1학년 ) 박수형 ( 전남과학고 1학년 ) 서범수 ( 전남과학고 1학년 ) 김효정

More information

12-file.key

12-file.key 11 2 ,, (Generic) (Collection) : : : :? (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

Spring Data JPA Many To Many 양방향 관계 예제

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

03-JAVA Syntax(2).PDF

03-JAVA Syntax(2).PDF JAVA Programming Language Syntax of JAVA (literal) (Variable and data types) (Comments) (Arithmetic) (Comparisons) (Operators) 2 HelloWorld application Helloworldjava // class HelloWorld { //attribute

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 9 장생성자와접근제어 이번장에서학습할내용 생성자 정적변수 정적메소드 접근제어 this 클래스간의관계 객체가생성될때초기화를담당하는생성자에대하여살펴봅니다. 생성자 생성자 (contructor): 객체가생성될때에필드에게초기값을제공하고필요한초기화절차를실행하는메소드 생성자의예 class Car { private String color; // 색상

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 # 메소드의구조자주반복하여사용하는내용에대해특정이름으로정의한묶음 반환형메소드이름 ( 매개변수 ) { 실행문장 1; : 실행문장 N; } 메소드의종류 Call By Name : 메서드의이름에의해호출되는메서드로특정매개변수없이실행 Call By Value : 메서드를이름으로호출할때특정매개변수를전달하여그값을기초로실행하는메서드 Call By Reference : 메서드호출시매개변수로사용되는값이특정위치를참조하는

More information

ch09

ch09 9 Chapter CHAPTER GOALS B I G J A V A 436 CHAPTER CONTENTS 9.1 436 Syntax 9.1 441 Syntax 9.2 442 Common Error 9.1 442 9.2 443 Syntax 9.3 445 Advanced Topic 9.1 445 9.3 446 9.4 448 Syntax 9.4 454 Advanced

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information