자바 IO PrintWriter이해하기
public class Grade_PrintWriter {
public static void main(String args[]) {
Grade_PrintWriter grade = new Grade_PrintWriter();
String fileName = "score.txt";
grade.printGrade(fileName);
}
public void printGrade(String fileName) {
/* 이곳에 프로그램을 완성하십시오. */
BufferedReader br=null;//별명을 null로 별명그릇만 만들기
BufferedWriter bw=null;
//BufferedWriter bw = null;
int total =0;
int count =0;
try {
br=new BufferedReader(new FileReader("src/data"+fileName));
bw=new BufferedWriter(new FileWriter("src/data/score_out.txt"));
//bw = new BufferedWriter(new FileWriter(""));
while(true) {
String line = br.readLine();
//자바든 뭐든 IO를 배우는 기초이유 개념 알기!!
//제일 먼저 이걸 알아야한다
//readLine은 한줄을 아는데 엔터키를 읽기전까지만 읽는다
//이걸 쪼개는 이유는 아주 쉽다 파일은 애개변수나 return과 다르게 너무 용량이크다
//용량이 큰걸 이사시키는 방법은 이사시 분해후 재조립밖에 없다
//순간이동 워프라고 들어봤나?
//우리가 쪼개는 단위는 결국 자바에서 크게 3가지다
//1.바이트
//2.char
//3.String
//이3가지 단위로 쪼개서 마치 워프처럼 분자단위로 쪼개는것처럼 이사해야한다
if(line==null)
{
break;
}
//한 라인을 읽어서,로 문자열을 불리 그래서 스트링을 나눠담을그릇필요
String[] dataArr=line.split(",");
//System.out.println(dataArr[0]);
total=total+Integer.parseInt(dataArr[1]);
System.out.println(dataArr[0]+"의 점수는"+dataArr[1]+"입니다");
count++;
}
System.out.println("모두의 총점은"+total);
} catch (Exception e) {
// TODO: handle exception
}finally {
try {
//fr이 널이면 close는 호출되지 않게
if(br!=null) {
br.close();
}
}catch (Exception e) {
// TODO: handle exception
}
}
}
package io;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
//BufferedReader로 읽고 PrintWriter로 읽기
//=>PrintWriter는 print,print;printf등을 지원하기 떄문에 편하게 작업가능
public class PrintWriterTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new FileReader());
PrintWriter pw = new PrintWriter(new FileWriter());
//처음에는 괄호안에 조건적지마라
//특히 배울때는 그냥 그대로 쓰고 보라
while(true) {
String line = br.readLine();
if(line==null) {
break;
}
pw.println(line);
}
br.close();
pw.close();
}
}
댓글
댓글 쓰기