728x90
이번에는 FileOutputStream의 두가지 형태를 알아볼건데요
write(byte[] b);
wirte(byte[] ,int off, int len);
이런 형태로 사용합니다.
write(byte[] b)는 전체 쓰기를 의미하고 write(byte[] b, int off, int len)의 off는 시작점을 의미하고 len은 길이를 의미합니다.
import java.io.FileOutputStream;
public class MainClass {
public static void main(String[] args) {
// write()
OutputStream outputStream = null;
try {
outputStream = new FileOutputStream("C:\\java\\hello02.txt");
String data = "Hello, Java World!";
byte[] arr = data.getBytes();
try {
outputStream.write(arr);
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
if(inputStream != null) outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
위의 코드를 실행시켜보면 C아래 java폴더에 hello02.txt파일이 생겨납니다.
파일안에는 예상하시는것 처럼 Hello, Java World! 라는 문장이 적혀있을 것입니다.
OutputStream은 입력을 하기 때문에 만들어진 outputStream 객체에 write하겠다 어떤걸? arr을 이라는 의미가 되겠네요.
import java.io.FileOutputStream;
public class MainClass {
public static void main(String[] args) {
// write()
OutputStream outputStream = null;
try {
outputStream = new FileOutputStream("C:\\java\\hello03.txt");
String data = "Hello, Java World!";
byte[] arr = data.getBytes();
try {
outputStream.write(arr, 0, 5);
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
if(inputStream != null) outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
또 이런 방법을 사용하게 되면 0번째 인덱스부터 5개만 들어가고 위의 코드를 실행하게 되면 hello03.txt파일에는 Hello만 입력이 되어 들어가겠습니다.
728x90
'Java 관련 > Java' 카테고리의 다른 글
[Java] 네트워킹(네트워크 데이터 입력 및 출력) (0) | 2022.08.04 |
---|---|
[Java] 복사 Copy(FileInputStream / FIleOutputStream) (0) | 2022.08.03 |
[Java] FileInputStream (0) | 2022.08.01 |
[Java] Static(스태틱) (0) | 2022.07.31 |
[Java] import(임포트) (2) | 2022.07.30 |