//쓰기
1.바이트단위 쓰기
- 1바이트 단위 > 문자코드값1바이트 > ASCII코드 지원
2.파일에 데이터 저장하기
1) 스트림 객체 생성하기(쓰기전용) /연결하는 선을 (스트림)이라고 한다.
2) 스트림 객체를 사용해서 쓰기 작업 진행
3) 스트림 객체 닫기
3. 쓰기 전용
**
FileOutputStream stream = new FileOutputStream("경로"); -> 열기 **(file,boolean append) -> append (true : 이어쓰기/ false or 생략 : 덮어쓰기)
steam.close(); -> 닫기
Process notepad = new ProcessBuilder("notepad.exe").start(); -> 프로그램 열기
4. 읽기
- 바이트 단위 읽기 (1byte 일기 -> ASCII코드)
- System.in.read() 유사
**
FileInputStream steam = new FileInputStream("경로"); -> 스트림 열기
//쓰기
1)int code = steam.read();
System.out.println((char)code));
2)int code = -1;
while((code=steam.read())!=-1){ code가 -1이 아닌경우에만 실행 => stream.read는 문자 코드값으로 읽어옴
System.out.println((char)code); -> 문자단위로 하나씩 출력
}
steam.close(); -> 스트림 닫기
5. 쓰기
- 바이트 단위 쓰기 > 문자(2byte) 단위 쓰기
- 문자열도 지원하면서, 한글도 지원한다.
**
FileWriter writer = new FileWriter("경로"); -> 스트림 열기
//쓰기
writer.write(문자열);
writer.write(문자);
writer.write(숫자); => 문자 코드 값\
writer.close(); -> 스트림 닫기
6.메모장에 쓰기
**
자바 콘솔에서 쓰는것은 파일에 직접 쓰기가 아니라
출력 버퍼에 쓰는것이다!
7.정리
-FileOutputStream : 1byte 문자 쓰기
-FileInputStream : 1byte 문자 읽기
-FileWriter : 2byte 문자 쓰기 + 라인 단위 쓰기(String)
-FileReader : 2byte 문자 읽기 + 라인 단위 읽기(X) + 문자 단위 읽기(O)
8. 쓰기
- 문자 + 문자열 쓰기
- BufferedWriter(부모) / FileWriter(자식)
* BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));//콘솔,파일 둘다 읽음
* BufferedWriter writer = new BufferedWriter(new FileWriter("경로")); //콘솔,파일 둘다 쓸수있음.
- writer.newLine() == writer.write("\r\n");
9.읽기
- 문자 + 문자열 읽기
- 라인 단위 읽기 지원(***)
10. Test
//회원 정보
-이름, 나이, 주소, 전화
-파일 입출력
A.데이터 파일 포맷
ex)이름,나이,주소,전화
-파일 절대 경로
File temp = new File("C:\\Class\\File\\test.txt");
-파일 상대 경로
test.txt -> .\test.txt
' .' : 현재 실행파일이나 작업 공간이 있는 폴더
File temp = new File("test.txt");
C:\Class\Java\JavaTest\test.txt ->프로젝트 루트
System.out.println(temp.getAbsolutePath());
'JAVA' 카테고리의 다른 글
익명 객체,Anonymous Object (0) | 2018.08.06 |
---|---|
파일 입출력 예제 (0) | 2018.08.02 |
1.파일 입출력(Data) (0) | 2018.08.02 |
File.io (0) | 2018.08.01 |
Stack 구현 (0) | 2018.07.31 |