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

Similar documents
PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

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

PowerPoint 프레젠테이션

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

12-file.key

PowerPoint Presentation

Cluster management software

PowerPoint Presentation

Microsoft PowerPoint - Java7.pptx

JAVA PROGRAMMING 실습 09. 예외처리

PowerPoint 프레젠테이션

PowerPoint Presentation

Cluster management software

PowerPoint Presentation

PowerPoint Presentation

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint Presentation

슬라이드 1

자바-11장N'1-502

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Java

슬라이드 1

Microsoft PowerPoint - 04-UDP Programming.ppt

JAVA PROGRAMMING 실습 08.다형성

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

문서의 제목 나눔고딕B, 54pt

4장.문장

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

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

Microsoft PowerPoint - 03-TCP Programming.ppt

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

rmi_박준용_final.PDF

02 C h a p t e r Java

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Design Issues

05-class.key

Java ...

PowerPoint Presentation

교육자료

쉽게 풀어쓴 C 프로그래밊

PowerPoint 프레젠테이션

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

예제 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

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

제11장 프로세스와 쓰레드

JUNIT 실습및발표

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Spring Boot/JDBC JdbcTemplate/CRUD 예제

항상쌍 ( 키, 값 ) 으로만데이터를저장하는클래스 의최고조상 : Map - Map을조상으로하는클래스, HashTable, HashMap, LinkedHashMap, TreeMap 등은데이터를저장할때반드시 키 와 값 의쌍으로저장한다. - Map에저장되는 키 는중복되면안되

JMF2_심빈구.PDF

[ 프로젝트이름 ] : Project_Car [ 프로젝트를만든목적 ] : 임의의자동차판매소가있다고가정하고, 고객이원하는자동차의각부분을 Java 를이용하여객 체로생성하고, 그것을제어하는메소드를이용하여자동차객체를생성하는것이목표이다. [ 프로젝트패키지와클래스의내용설명 ] [

PowerPoint Presentation

Microsoft PowerPoint - lec7_package [호환 모드]

Microsoft PowerPoint - 2강

- 다음은 Statement 객체를사용해서삽입 (insert) 작업의예 String sql = "insert into member(code, name, id, pwd, age) values ("; int id = 10; sql = sql + id +, ;// 항목사이에

JTable과 MVC(Model-View-Controller) 구조 - 모델-뷰-컨트롤러구조는데이터의저장과접근에대한제공은모델이담당하고, 화면표시는뷰, 이벤트의처리는컨트롤러가하도록각역할을구분한구조이다. 즉, 역할의분담을통하여상호간의영향을최소화하고각요소의독립성을보장하여독자

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Network Programming

개발문서 Oracle - Clob

Spring Boot

Microsoft PowerPoint - RMI.ppt

untitled

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

FileMaker ODBC and JDBC Guide

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

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

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

쉽게 풀어쓴 C 프로그래밍

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

PowerPoint Presentation

PowerPoint 프레젠테이션

Network Programming

본 강의에 들어가기 전

PowerPoint Presentation

예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 2

Semantic Consistency in Information Exchange

14-Servlet

Microsoft PowerPoint - CSharp-10-예외처리

FileMaker ODBC and JDBC Guide

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

쉽게

Microsoft PowerPoint - java2-lab2-DirectoryImageConverter.pptx

PowerPoint 프레젠테이션

슬라이드 1

PowerPoint Presentation

JAVA PROGRAMMING 실습 05. 객체의 활용

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

Microsoft PowerPoint - Lect04.pptx

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

Secure Programming Lecture1 : Introduction

비긴쿡-자바 00앞부속

Transcription:

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt"); - 생성된 writer 를사용해서 print, println, printf 메소드를사용해서데이터를출력한다. writer.print(12);//12 를문자열로바꾸어서문자열로파일에쓴다. writer.print(10000l);//10000 를문자열로바꾸어서문자열로파일에쓴다. writer.println(1.5);//1.5 를문자열로바꾸고줄바꿈까지포함해서파일에쓴다. 즉, 줄이바뀐다. writer.println(true);//true 를문자열로바꾸고줄바꿈까지포함해서파일에쓴다. 즉, 줄이바뀐다. writer.printf("%d 년 %d 월 %d 일, 2010, 12, 2);//"2010 년 12 월 12 일 " 이라는문자열을파일에쓴다. writer.printf(" 파이 =%4.2f", Math.PI);//" 파이 =3.14" 라는문자열을파일에쓴다. - 위의 printf에사용된 %d는정수가출력되는자리를의미한다. %f는실수가출력되는자리를의미한다. %4.2f는실수를출력하되소수점이하는 2자리이며전체자리수는소수점포함 4자리를의미한다. - 여기서사용된 %d나 %f 등을포맷명세자 (format specifier) 라고한다. - %s는문자열을출력할때사용하는포맷명세자이고 %n은줄을바꿀때사용하는포맷명세자이다. 기타포맷명세자의세부사항은자바라이브러리를참조한다. - 1 -

PrintWriter 클래스의사용예 ) public class PrintWriterTest { public static void main(string[] args){ PrintWriter writer = null; try { writer = new PrintWriter("output.txt"); writer.println(" *** 성적표 *** "); writer.printf("%3s : %3d %3d %3d %5.1f %n", " 홍길동 ", 92, 87, 95, 91.3f); writer.printf("%3s : %3d %3d %3d %5.1f %n", " 김길동 ", 100, 90, 88, 92.7f); writer.printf("%3s : %3d %3d %3d %5.1f %n", " 이길동 ", 75, 88, 85, 82.7f); writer.printf(" 작성일자 : %1$tY년 %1$tm월 %1$td일", new GregorianCalendar()); //%1$ 는첫번째인자를의미한다. 여기서는 new GregorianCalendar() 가첫번째인자 // 예 ) writer.printf("%1$ %2$", first, second); // 위의예에서 %1$ 는 first 를지칭하고, %2$ 는 second 를지칭한다. //ty, tm, td 는 Calendar 클래스의연, 월, 일에해당하는값을표현하기위해사용하는포맷명세자 catch(ioexception e) { System.out.println(" 파일로출력할수없습니다."); finally { try { writer.close();// 파일을닫는다. catch(exception e) { System.out.println(" 파일을닫는중에예외가발생했습니다."); 파일도전과제 - 총정원 5명인학급의학생들의이름과음악, 미술, 체육의데이터를화면에서입력받아서파일로저장하고, 모든데이터의저장이완료되었으면, 다시파일을열고파일에서해당데이터를읽은후개인별총점, 평균그리고학급의총점과평균을구하는프로그램을설계하세요. ( 학생의이름과과목별점수는임의로정하세요. 그리고, 파일의이름및파일관리에사용하는클래스도임의로선택하셔서사용하도록합니다.) - 2 -

파일관리에사용하는 File 클래스 파일에데이터를쓰고, 파일로부터데이터를읽는작업도중요하지만, 파일자체를관리하는일도중요하다. 예를 들어, 파일의크기를알아내거나파일의속성을바꾸는일 ( 즉, 읽기전용의파일로만드는작업 ) 등이이에해당한다. File 클래스는 java.io 패키지에속해있다. File 클래스를사용하면다음과같은정보를알아낼수있다. 1. 파일의크기 2. 파일의이름또는디렉토리의이름 3. 파일의최종수정일자 4. 읽기가능 / 쓰기가능 / 숨김파일등의파일의속성 File 클래스를사용하려면, 우선 File 클래스를다음과같이생성한다. File file = new File("data.txt");// 현재디렉토리에있는 data.txt 파일에대한 File 객체를생성한다. File file = new File("C:\\temp\\data.txt");//C 드라이브의 temp 디렉토리에있는 data.txt 에대한 File 객체생성 File 객체가생성되었으면, 다음이메소드를사용해서파일의상태를알아낸다. Boolean isthere = file.exists();// 해당하는파일혹은디렉토리가존재하면참, 아니면거짓 Boolean isfile = file.isfile();// 해당객체가파일이면참, 아니면거짓 Boolean isdirectory = file.isdirectory();// 해당객체가디렉토리이면참, 아니면거짓 String name = file.getname();// 이름을리턴 long size = file.length();// 크기를리턴 long time = file.lastmodified();// 최종수정일자를리턴.1970년 1월 1일부터경과한시간을 1000분의 1초로저장 boolean readmode = file.canread();// 읽기가능여부리턴 boolean writemode = file.canwrite();// 쓰기가능여부리턴 boolean hiddenmode = file.ishidden();// 숨김여부를리턴 String parent = file.getparent();// 부모디렉토리의이름을리턴 - 3 -

현재디렉토리의하위디렉토리와파일의목록을출력하는예 ) public class FileTest { public static void main(string[] args) { File file = new File(".");// 현재의디렉토리로 File 객체를생성 File files[] = file.listfiles();// 하위디렉토리와파일의목록을읽어온다. for(int i = 0; i < files.length; i++) { String name = files[i].getname(); if(files[i].isfile()) System.out.printf("%-25s %7d ", name, files[i].length()); // 파일이면파일의이름과크기를출력 else System.out.printf(%-25s <DIR> ", name);// 디렉토리이면 <DIR> 만출력 long time = files[i].lastmodified();// 파일의최종수정일자를읽어옴 GregorianCalendar calendar = new GregorianCalendar(); calendar.settimemillis(time); // 읽어온파일의최종수정일자는 1000분의 1초값이므로, 이것을실제날짜로바꾼다. System.out.printf("%1$tF %1$tT %n", calendar); //tf 는날짜의형태를 YYYY-MM-DD 으로설정함을의미하는포맷명세자 //tt 는시간의형태를 HH:MM:SS 으로설정함을의미하는포맷명세자 // 즉, 날짜와시간이 2010-12-02 12:12:12의형태로출력된다. - 4 -

파일의여러가지속성을알아보는예 ) import java.io.*; import java.util.*; class FileInfo { public static void main(string [] args) throws Exception { File file = new File("c:\\temp\\data.txt"); System.out.println(" 파일상세정보 *****" ); System.out.println(" 절대경로 :" + file.getabsolutepath()); System.out.println(" 표준경로 :" + file.getcanonicalpath()); System.out.println(" 생성일 :" + new Date(file.lastModified())); System.out.println( " 파일크기 : " + file.length() ); System.out.println( " 읽기속성 : " + file.canread() ); System.out.println( " 쓰기속성 : " + file.canwrite() ); System.out.println( " 파일경로 : " + file.getparent() ); System.out.println( " 숨김속성 : " + file.ishidden() ); - 5 -