반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Linux셋팅
- ObjectInputStream
- char[] String 형변환
- MemoryStream
- 상관서브쿼리
- ThreadGroup()
- first-child
- isinterrupted()
- interrupt()
- StringWriter
- 동기화
- include 지시자
- 리눅스세팅
- 상관 서브 쿼리
- InputDialog
- interrupted()
- Daemon()
- 리눅스셋팅
- 아이디중복
- sleep()메소드
- StringReader
- Linux세팅
- 스레드그룸
- include액션태그
- include지시자
- 표현 언어
- ID중복
- 메모리스트림
- String char[] 형변환
- first-of-child
Archives
- Today
- Total
다연이네
[days25] DataOutputStream, DataInputStream 본문
반응형
printWriter를 이용해 파일.txt에 데이터 누적해서 저장하기
package days25;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class Ex13 {
public static void main(String[] args) throws IOException {
String name = "배다연";
int kor= 90, eng=89, mat=77, tot=kor+eng+mat;
double avg = tot/3.0;
String gender = "여자";
//
String fileName = ".\\src\\days25\\Student.txt";
FileWriter fw = new FileWriter(fileName, true); //true: 다른학생 추가되도록 (누적)
PrintWriter pw = new PrintWriter(fw);
//보조스트림
pw.printf("%s, %d %d %d %d %.2f %s\n",
name, kor, eng, mat, tot, avg, gender);
fw.flush();
fw.close();
pw.flush();
pw.close();
System.out.println("END");
}
}
콘솔 창에 파일 내용 출력하기
package days25;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Ex13_02 {
public static void main(String[] args) throws IOException {
//파일 읽어와서 학생 정보 출력
String fileName = ".\\src\\days25\\Student.txt";
File file = new File(fileName);
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String n = null;
while ((n=br.readLine())!=null) {
System.out.println(n);
}
fr.close();
br.close();
}
}
보조스트림 - DataOutputStream을 사용해 파일.dat에 데이터 저장하기
package days25;
import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Ex13_03 {
public static void main(String[] args) throws IOException {
String name = "배다연";
int kor= 90, eng=89, mat=77, tot=kor+eng+mat;
double avg = tot/3.0;
String gender = "여자";
// DataInputStream, DataOutputStream 보조스트림
String fileName = ".\\src\\days25\\Student.dat"; //ini: 설정파일
FileOutputStream fos = new FileOutputStream(fileName, true);
//보조스트림은 outputstream만 매개변수로 줄 수 있어서 FileOutputStream 선언
DataOutputStream dos = new DataOutputStream(fos);
dos.writeUTF(name);
dos.writeInt(kor);
dos.writeInt(eng);
dos.writeInt(mat);
dos.writeInt(tot);
dos.writeDouble(avg);
dos.writeBoolean(gender.equals("남자")? true:false);
dos.write('\n');
fos.flush();
dos.flush();
fos.close();
dos.close();
System.out.println("END");
}
}
DataInputStream을 사용해 읽기
package days25;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class Ex13_4 {
public static void main(String[] args) throws IOException {
// 읽어오기...
String name = null;
int kor = 0, eng =0, mat =0, tot = 0;
double avg = 0.;
String gender = null;
// p 886 Data[InputStream], Data[OutputStream] 보조스트림
String fileName = ".\\src\\days25\\Student.dat";
FileInputStream fis = new FileInputStream(fileName);
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis);
name =dis.readUTF();
kor = dis.readInt();
eng = dis.readInt();
mat = dis.readInt();
mat = dis.readInt();
avg = dis.readDouble();
gender = dis.readBoolean() ? "남자" : "여자";
String n ;
while((n=dis.readLine())!=null){
System.out.printf("%s,%d,%d,%d,%d,%.2f,%b\n",
name, kor,eng,mat,tot,avg,gender);
}
fis.close();
dis.close();
System.out.println("= END = ");
}
}
근데 이러면 처음에 입력했던 데이터만 계속 출력된다.. 왤까?
정말..모르겠어
반응형
'Java' 카테고리의 다른 글
[days26] 스레드(Thread) (0) | 2020.10.26 |
---|---|
[days26] 직렬화(Serialization) - ObjectInputStream/ObjectOutputStream (0) | 2020.10.26 |
[days25] RandomAccessFile (0) | 2020.10.25 |
[days25] 메모리스트림 - StringReader / StringWriter (0) | 2020.10.25 |
[days25] 보조스트림 - InputStreamReader, PrintStream/ PrintWriter (0) | 2020.10.25 |
Comments