JAVA
파일저장_Stream
장꾸꾸
2020. 8. 31. 14:47
클라이언트와 서버가 데이터를 주고받는데, 이러한 데이터의 흐름을 Stream이라 한다.
이 스트림은 한 방향으로만 진행되고 보내는 쪽은 보내기만, 받는 쪽은 받기만 한다.(input stream/ output stream)
실행은 메인 클래스에서!
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
FileTest fileTest = new FileTest();
fileTest.createFiles();
}
}
FileTest 클래스
1st 방법 : 계속 덮어쓰기가 됨
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileTest {
public void createFiles() {
FileOutputStream output = null;
String data = "가나다라 대한민국";
/****************** 첫 번째 방법 ***********************/
/** 생성할 파일 이름을 지정 **/
try {
output = new FileOutputStream("c:/my/test1.txt");
data = "개구리 소년\r\n";
output.write(data.getBytes()); // 파일에 저장
data = "빰빠밤\r\n";
output.write(data.getBytes()); // 파일에 저장
data = "즐즐즈릊릊릊르즐\r\n";
output.write(data.getBytes()); // 파일에 저장
output.close();
System.out.println("정상종료");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
2nd 방법 : 붙여쓰기 가능
File tempFile = new File("c:/my/test2.txt");
if(tempFile.exists()== true) { //파일 존재 여부 확인
}
FileWriter fw;
try {
fw = new FileWriter("c:/my/test2.txt", false); //덮어쓰기 , true 붙여쓰기
String data = "티라노\r\n";
fw.write(data);
data = "어떤 맛일까? 냠냠\r\n";
fw.write(data);
fw.close();
System.out.println("정상종료");
} catch (IOException e) {
e.printStackTrace();
}
FileWriter의 기본기능은 덮어쓰기(기본옵션이 false)지만
생성시에
fw = new FileWriter("c:/my/test2.txt", true);
true를 붙여주면 그 밑에 계속해서 붙여쓰기가 됨