Top 35 자바 파일 Best 31 Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 자바 파일 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Toplist.maxfit.vn team, along with other related topics such as: 자바 파일 자바 파일 읽기, 자바 파일 위치, 자바 파일 읽고 쓰기, 자바 파일 열기, 자바 파일 저장, 자바 파일 입출력, 자바 파일 입출력 스트림, 자바 파일 생성


[JAVA] File I/O(Input/Output)기초(파일 입출력 스트림에 대한 이해)
[JAVA] File I/O(Input/Output)기초(파일 입출력 스트림에 대한 이해)


06-02 파일 입출력 – 점프 투 자바

  • Article author: wikidocs.net
  • Reviews from users: 18128 ⭐ Ratings
  • Top rated: 3.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 06-02 파일 입출력 – 점프 투 자바 파일 쓰기. 다음의 예제를 작성해 보자. import java.io.FileOutputStream; import java.io.IOException; public Sample { public static vo main(String[] … …
  • Most searched keywords: Whether you are looking for 06-02 파일 입출력 – 점프 투 자바 파일 쓰기. 다음의 예제를 작성해 보자. import java.io.FileOutputStream; import java.io.IOException; public Sample { public static vo main(String[] … 온라인 책을 제작 공유하는 플랫폼 서비스
  • Table of Contents:

파일 쓰기

파일 읽기

06-02 파일 입출력 - 점프 투 자바
06-02 파일 입출력 – 점프 투 자바

Read More

[Java] 자바 파일 입출력 (txt파일로 저장 및 읽어오기)

  • Article author: coding-factory.tistory.com
  • Reviews from users: 42206 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Java] 자바 파일 입출력 (txt파일로 저장 및 읽어오기) File 클래스 Java.io패키지에서 제공하는 File클래스는 파일 크기, 파일 속성, 파일 이름 등의 정보를 얻어내는 기능과 파일 생성 및 삭제 기능을 … …
  • Most searched keywords: Whether you are looking for [Java] 자바 파일 입출력 (txt파일로 저장 및 읽어오기) File 클래스 Java.io패키지에서 제공하는 File클래스는 파일 크기, 파일 속성, 파일 이름 등의 정보를 얻어내는 기능과 파일 생성 및 삭제 기능을 …  File 클래스 Java.io패키지에서 제공하는 File클래스는 파일 크기, 파일 속성, 파일 이름 등의 정보를 얻어내는 기능과 파일 생성 및 삭제 기능을 제공하고 있습니다. 그리고 디렉토리를 생성하고 디렉토리에 존..
  • Table of Contents:

Header Menu

Main Menu

File 클래스

성능 향상을 위한 고민 (Buffer 활용하기)

Sidebar – Right

Copyright © 코딩팩토리 All Rights Reserved

Designed by JB FACTORY

티스토리툴바

[Java] 자바 파일 입출력 (txt파일로 저장 및 읽어오기)
[Java] 자바 파일 입출력 (txt파일로 저장 및 읽어오기)

Read More

[Java] 파일 생성하는 3가지 방법 (File, FileOutputStream, Files) – 어제 오늘 내일

  • Article author: hianna.tistory.com
  • Reviews from users: 41816 ⭐ Ratings
  • Top rated: 3.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Java] 파일 생성하는 3가지 방법 (File, FileOutputStream, Files) – 어제 오늘 내일 지난 번에는 Java API를 이용하여, 텍스트 파일을 읽는 방법을 알아보았습니다. [Java] 텍스트 파일 읽기 ( FileReader, BufferedReader, Scanner, … …
  • Most searched keywords: Whether you are looking for [Java] 파일 생성하는 3가지 방법 (File, FileOutputStream, Files) – 어제 오늘 내일 지난 번에는 Java API를 이용하여, 텍스트 파일을 읽는 방법을 알아보았습니다. [Java] 텍스트 파일 읽기 ( FileReader, BufferedReader, Scanner, … 지난 번에는 Java API를 이용하여, 텍스트 파일을 읽는 방법을 알아보았습니다. [Java] 텍스트 파일 읽기 ( FileReader, BufferedReader, Scanner, Files ) [Java] 텍스트 파일 읽기 ( FileReader, BufferedReader..
  • Table of Contents:

어제 오늘 내일

[Java] 파일 생성하는 3가지 방법 (File FileOutputStream Files) 본문

1 javaioFile

2 javaioFileOutputStream

3 javaniofileFiles

[Java] 파일 생성하는 3가지 방법 (File, FileOutputStream, Files) - 어제 오늘 내일
[Java] 파일 생성하는 3가지 방법 (File, FileOutputStream, Files) – 어제 오늘 내일

Read More

[JAVA] 자바 파일입출력, 폴더 내 파일 읽기 예제

  • Article author: studyingazae.tistory.com
  • Reviews from users: 11771 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [JAVA] 자바 파일입출력, 폴더 내 파일 읽기 예제 파일 읽기, 파일 복사, 파일 쓰기, 폴더 내 파일 읽기, FileReader, FileWriter, BufferedReader, BufferedWriter * java 기본 기능으로 파일 내용을 … …
  • Most searched keywords: Whether you are looking for [JAVA] 자바 파일입출력, 폴더 내 파일 읽기 예제 파일 읽기, 파일 복사, 파일 쓰기, 폴더 내 파일 읽기, FileReader, FileWriter, BufferedReader, BufferedWriter * java 기본 기능으로 파일 내용을 … * 파일 읽기, 파일 복사, 파일 쓰기, 폴더 내 파일 읽기, FileReader, FileWriter, BufferedReader, BufferedWriter * java 기본 기능으로 파일 내용을 읽고, 새로운 파일에 쓰는 방법 작성 (작성 후 ctrl+o로 자..
  • Table of Contents:

똘아재의 노트

태그

관련글

댓글0

전체 방문자

티스토리툴바

[JAVA] 자바 파일입출력, 폴더 내 파일 읽기 예제
[JAVA] 자바 파일입출력, 폴더 내 파일 읽기 예제

Read More

JAVA 파일 (내용 및 방법)

  • Article author: ko.eyewated.com
  • Reviews from users: 30365 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about JAVA 파일 (내용 및 방법) JAVA 파일 확장자 (또는 덜 일반적으로 .JAV 접미어)가있는 파일은 Java 프로그래밍 언어로 작성된 Java 소스 코드 파일입니다. 텍스트 편집기에서 완벽하게 읽을 수 … …
  • Most searched keywords: Whether you are looking for JAVA 파일 (내용 및 방법) JAVA 파일 확장자 (또는 덜 일반적으로 .JAV 접미어)가있는 파일은 Java 프로그래밍 언어로 작성된 Java 소스 코드 파일입니다. 텍스트 편집기에서 완벽하게 읽을 수 …
  • Table of Contents:

Alike posts

See Newest

Sapid posts

JAVA 파일 (내용 및 방법)
JAVA 파일 (내용 및 방법)

Read More

Java 파일 I/O 정리

  • Article author: velog.io
  • Reviews from users: 3326 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about Java 파일 I/O 정리 java의 입출력 I/O에 대해 정리합니다. (주로 파일 I/O를 위주로 살펴보겠습니다.) 항상 자바나 다른 언어 공부를 하면서 txt파일을 어떻게 읽어와야 … …
  • Most searched keywords: Whether you are looking for Java 파일 I/O 정리 java의 입출력 I/O에 대해 정리합니다. (주로 파일 I/O를 위주로 살펴보겠습니다.) 항상 자바나 다른 언어 공부를 하면서 txt파일을 어떻게 읽어와야 … java의 입출력 I/O에 대해 정리합니다.

    자바에서 입출력를 수행하려면 두 대상을 연결하려는 무엇인가가 필요하고
    이를 스트림(Stream)이라고 한다.

    이때 스트림은 단방향으로 통신이 가능하며 하나의 스트림으로 입출력을 같이 처리할수 없다.
    따라서 입력 스트림,

  • Table of Contents:
Java 파일 I/O 정리
Java 파일 I/O 정리

Read More

[java] 자바 파일 읽고 쓰기 example (FileWriter,FileReader) – 오오코딩

  • Article author: vmpo.tistory.com
  • Reviews from users: 29103 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [java] 자바 파일 읽고 쓰기 example (FileWriter,FileReader) – 오오코딩 java에서 파일 읽고 쓰기 방법을 알아 보겠습니다. 자바 내장 클래스인 FileWriter, BufferedWriter(파일읽기) , FileReader,BufferedReader(파일 … …
  • Most searched keywords: Whether you are looking for [java] 자바 파일 읽고 쓰기 example (FileWriter,FileReader) – 오오코딩 java에서 파일 읽고 쓰기 방법을 알아 보겠습니다. 자바 내장 클래스인 FileWriter, BufferedWriter(파일읽기) , FileReader,BufferedReader(파일 … java에서 파일 읽고 쓰기 방법을 알아 보겠습니다. 자바 내장 클래스인 FileWriter, BufferedWriter(파일읽기) , FileReader,BufferedReader(파일쓰기)를 사용하도록 하겠습니다. 아래와 같이 try catch를 생성해..
  • Table of Contents:

File Write

File Read

[java] 자바 파일 읽고 쓰기 example (FileWriter,FileReader) - 오오코딩
[java] 자바 파일 읽고 쓰기 example (FileWriter,FileReader) – 오오코딩

Read More

자바 파일 입출력 (txt파일 한 문자씩, 한 줄씩, 한 번에 읽기)

  • Article author: jeong-pro.tistory.com
  • Reviews from users: 26357 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 자바 파일 입출력 (txt파일 한 문자씩, 한 줄씩, 한 번에 읽기) 자바 파일 입출력. 원리. 1. 파일 객체를 만든다. 2. 해당 파일을 열어 읽는다. (+읽은 내용 알아서 처리, 어디다 쓰든지 문자열을 바꾸던지 뭐 … …
  • Most searched keywords: Whether you are looking for 자바 파일 입출력 (txt파일 한 문자씩, 한 줄씩, 한 번에 읽기) 자바 파일 입출력. 원리. 1. 파일 객체를 만든다. 2. 해당 파일을 열어 읽는다. (+읽은 내용 알아서 처리, 어디다 쓰든지 문자열을 바꾸던지 뭐 … 자바 파일 입출력 원리 1. 파일 객체를 만든다. 2. 해당 파일을 열어 읽는다. (+읽은 내용 알아서 처리, 어디다 쓰든지 문자열을 바꾸던지 뭐 맘대로 하면 된다.) 3. 파일을 닫는다. 1) 한 문자씩 읽기 1 2 3 4 5..
  • Table of Contents:

‘JavaJAVA’ Related Articles

태그

티스토리툴바

자바 파일 입출력 (txt파일 한 문자씩, 한 줄씩, 한 번에 읽기)
자바 파일 입출력 (txt파일 한 문자씩, 한 줄씩, 한 번에 읽기)

Read More

[JAVA]FileWriter/BufferedWriter /자바 파일 생성 저장 하기

  • Article author: marine1188.tistory.com
  • Reviews from users: 25179 ⭐ Ratings
  • Top rated: 5.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [JAVA]FileWriter/BufferedWriter /자바 파일 생성 저장 하기 개발 환경. Window 10. JDK 1.8. 이클립스 2020_03 버전. 파일 만들고 파일 내용 쓰기 package ex04.file; import java.util.Date; import java.io. …
  • Most searched keywords: Whether you are looking for [JAVA]FileWriter/BufferedWriter /자바 파일 생성 저장 하기 개발 환경. Window 10. JDK 1.8. 이클립스 2020_03 버전. 파일 만들고 파일 내용 쓰기 package ex04.file; import java.util.Date; import java.io. 2021.03.29 – [JAVA/JAVA(자바)설치 및 툴 이용(ECLIPSE)] – [JAVA] 자바 설치 및 환경 하기 JDK 1.8 버전 [JAVA] 자바 설치 및 환경 하기 JDK 1.8 버전 www.oracle.com/kr/java/technologies/javase/javase-jdk8..회계학과 나온 코딩을 잘하고 싶은 남자
  • Table of Contents:
[JAVA]FileWriterBufferedWriter 자바 파일 생성 저장 하기

티스토리툴바

[JAVA]FileWriter/BufferedWriter /자바  파일 생성  저장 하기
[JAVA]FileWriter/BufferedWriter /자바 파일 생성 저장 하기

Read More

JAVA (자바) – 파일 입출력 (txt파일 읽기) — 개발이 하고 싶어요

  • Article author: iu-corner.tistory.com
  • Reviews from users: 15400 ⭐ Ratings
  • Top rated: 4.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about JAVA (자바) – 파일 입출력 (txt파일 읽기) — 개발이 하고 싶어요 JAVA (자바) – 파일 입출력 원리 1. 파일 객체를 만든다. 2. 해당 파일을 열어 읽는다. (+읽은 내용 알아서 처리, 어디다 쓰든지 문자열을 바꾸던지 … …
  • Most searched keywords: Whether you are looking for JAVA (자바) – 파일 입출력 (txt파일 읽기) — 개발이 하고 싶어요 JAVA (자바) – 파일 입출력 원리 1. 파일 객체를 만든다. 2. 해당 파일을 열어 읽는다. (+읽은 내용 알아서 처리, 어디다 쓰든지 문자열을 바꾸던지 … JAVA (자바) – 파일 입출력 원리 1. 파일 객체를 만든다. 2. 해당 파일을 열어 읽는다. (+읽은 내용 알아서 처리, 어디다 쓰든지 문자열을 바꾸던지 뭐 맘대로 하면 된다.) 3. 파일을 닫는다. 1) 한 문자씩 읽기 p..
  • Table of Contents:

티스토리

공지사항

블로그 메뉴

인기 글

최근 글

최근 댓글

태그

티스토리툴바

JAVA (자바) - 파일 입출력 (txt파일 읽기) — 개발이 하고 싶어요
JAVA (자바) – 파일 입출력 (txt파일 읽기) — 개발이 하고 싶어요

Read More


See more articles in the same category here: https://toplist.maxfit.vn/blog/.

06-02 파일 입출력

이번에는 파일을 이용한 입출력 방법에 대해서 알아 보자.

파일 쓰기

다음의 예제를 작성해 보자.

import java.io.FileOutputStream; import java.io.IOException; public class Sample { public static void main(String[] args) throws IOException { FileOutputStream output = new FileOutputStream(“c:/out.txt”); output.close(); } }

위 예제를 실행해 보면 c:/ 디렉토리 바로 밑에 새로운 파일(out.txt)이 하나 생성되는 것을 확인할 수 있을 것이다.

※ 맥(Mac)이나 유닉스에서 실행할 경우 c:/ 디렉터리가 없으므로 디렉터리명을 적절하게 변경하여 실행하도록 하자.

파일을 생성하기 위해 FileOutputStream 클래스를 사용했다. FileOutputStream 객체를 생성하기 위해서는 생성자의 입력으로 파일명을 넘겨주어야 한다. 위 예제에서는 경로를 포함하여 c:/out.txt 라는 파일명을 생성자의 입력으로 전달하였다.

위의 예에서보면 output.close() 라는 문장이 있는데 이것은 사용한 파일 객체를 닫아주는 것이다. 사실 이 문장은 생략해도 된다. 왜냐하면 자바 프로그램이 종료할 때 사용한 파일 객체를 자동으로 닫아주기 때문이다. 하지만 직접 사용한 파일을 닫아주는 것이 좋다. 사용했던 파일을 닫지 않고 다시 사용하려고 할 경우에는 오류가 발생하기 때문이다.

FileOutputStream

이번에는 생성하는 파일에 내용을 적어 보자.

import java.io.FileOutputStream; import java.io.IOException; public class Sample { public static void main(String[] args) throws IOException { FileOutputStream output = new FileOutputStream(“c:/out.txt”); for(int i=1; i<11; i++) { String data = i+" 번째 줄입니다.\r "; [[MARK]]output.write(data.getBytes());[[/MARK]] } output.close(); } } InputStream과 마찬가지로 OutputStream 역시 바이트 단위로 데이터를 처리하는 클래스이다. FileOutputStream은 OutputStream클래스를 상속받아 만든 클래스인데 바이트 단위로 데이터를 처리하게끔 되어 있다. FileOutputStream에 값을 쓸 때는 byte배열로 써야 하므로 위와같이 String을 byte배열로 바꾸어 주는 getBytes() 메서드를 이용했다. \r 은 줄바꿈 문자이다. ※ 유닉스인 경우는 만 있으면 된다. 윈도우즈의 경우 \r 처럼 \r 문자를 추가해야 노트패드 같은 에디터에서 줄바꿈이 제대로 표시되어 보인다. FileWriter 문자열을 파일에 쓸 때에는 FileOutputStream이 좀 불편하다. String을 byte배열로 변환해야 하기 때문이다. 좀 더 편리한 방법은 없을까? 다음의 예제를 보도록 하자. import java.io.FileWriter; import java.io.IOException; public class Sample { public static void main(String[] args) throws IOException { [[MARK]]FileWriter fw = new FileWriter("c:/out.txt");[[/MARK]] for(int i=1; i<11; i++) { String data = i+" 번째 줄입니다.\r "; [[MARK]]fw.write(data);[[/MARK]] } fw.close(); } } 위처럼 FileOutputStream 대신에 FileWriter를 이용하면 byte 배열 대신 문자열을 사용할수 있어 편리하다. PrintWriter 하지만 FileWriter를 사용하더라도 \r 을 문자열 뒤에 덧 붙여야 하는 불편함은 여전히 남아있다. 이런 불편함을 해소하려면 FileWriter대신 PrintWriter를 사용하면 된다. PrintWriter를 이용하면 \r 을 덧붙이는 대신 println 이라는 메써드를 사용할 수 있다. 다음은 PrintWriter를 이용하여 파일을 작성하는 예제이다. import java.io.IOException; import java.io.PrintWriter; public class Sample { public static void main(String[] args) throws IOException { [[MARK]]PrintWriter pw = new PrintWriter("c:/out.txt");[[/MARK]] for(int i=1; i<11; i++) { String data = i+" 번째 줄입니다."; [[MARK]]pw.println(data);[[/MARK]] } pw.close(); } } 위의 프로그램을 다음의 프로그램과 비교해 보자. for(int i=1; i<11; i++) { String data = i+" 번째 줄입니다."; System.out.println(data); } 두 프로그램의 차이점은 data를 출력시키는 방법이다. 두 번째 방법은 우리가 지금껏 계속 사용해 왔던 콘솔 출력 방법이고 첫 번째 방법은 콘솔대신에 파일로 출력하는 방법이다. 차이점이 금방 눈에 들어 올 것이다. System.out 대신에 PrintWriter의 객체를 사용한 차이가 있을 뿐이다. 위의 프로그램을 실행하면 c:/out.txt 파일이 생성된다. 파일에 어떤 내용이 저장되었는지 확인 해 보자. [out.txt의 내용] 1 번째 줄입니다. 2 번째 줄입니다. 3 번째 줄입니다. 4 번째 줄입니다. 5 번째 줄입니다. 6 번째 줄입니다. 7 번째 줄입니다. 8 번째 줄입니다. 9 번째 줄입니다. 10 번째 줄입니다. 두 번째 방법을 사용했을 때 콘솔에 출력될 내용이 파일에 고스란히 들어가 있는 것을 알 수 있다. 파일에 내용 추가하기 프로그램을 만들다 보면 파일에 내용을 쓰고 난 후에 또 새로운 내용을 추가하고 싶을 때가 생긴다. 이럴 경우에는 이미 작성된 파일을 다시 추가모드로 열어서 추가내용을 작성해야 한다. 다음의 예제를 보자. import java.io.FileWriter; import java.io.IOException; public class Sample { public static void main(String[] args) throws IOException { FileWriter fw = new FileWriter("c:/out.txt"); for(int i=1; i<11; i++) { String data = i+" 번째 줄입니다.\r "; fw.write(data); } fw.close(); FileWriter fw2 = new FileWriter("c:/out.txt"[[MARK]], true[[/MARK]]); // 파일을 추가 모드로 연다. for(int i=11; i<21; i++) { String data = i+" 번째 줄입니다.\r "; fw2.write(data); } fw2.close(); } } fw2 객체는 FileWriter("c:/out.txt", true) 와 같이 두번째 파라미터를 추가로 전달하여 생성했다. 두번째 boolean 입력 파라미터는 파일을 추가모드(append)로 열것인지에 대한 구분값이다. 파일을 추가모드로 열면 기존파일의 내용을 덮어쓰지 않고 이후부터 파일이 쓰여진다. 위 예제를 실행하면 out.txt 파일에 내용이 추가되는 것을 확인할 수 있을 것이다. 만약 FileWriter대신 PrintWriter를 이용하고 싶은 경우에는 다음과 같이 변경해야 한다. import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class Sample { public static void main(String[] args) throws IOException { PrintWriter pw = new PrintWriter("c:/out.txt"); for(int i=1; i<11; i++) { String data = i+" 번째 줄입니다."; pw.println(data); } pw.close(); [[MARK]]PrintWriter pw2 = new PrintWriter(new FileWriter("c:/out.txt", true));[[/MARK]] for(int i=11; i<21; i++) { String data = i+" 번째 줄입니다."; pw2.println(data); } pw2.close(); } } PrintWriter를 사용할 경우에는 생성자의 파라미터로 파일명 대신 추가모드로 열린 FileWriter의 객체를 전달해야 한다. 파일 읽기 이번에는 파일을 읽는 방법에 대해서 알아보자. 다음의 예제를 작성해 보자. import java.io.FileInputStream; import java.io.IOException; public class Sample { public static void main(String[] args) throws IOException { byte[] b = new byte[1024]; FileInputStream input = new FileInputStream("c:/out.txt"); input.read(b); System.out.println(new String(b)); // byte 배열을 문자열로 변경하여 출력 input.close(); } } 파일을 읽기 위해서는 위 예처럼 FileInputStream 클래스를 이용한다. 다만 byte 배열을 이용하여 파일을 읽어야 하기 때문에 읽어야 하는 정확한 길이를 모를 경우에는 좀 불편한 방법이다. 위 예에서는 1024 바이트를 읽도록 코딩했다. ※ 바이트 배열을 문자열로 변경할 때는 new String(바이트배열) 처럼 사용하여 변경한다. 만약 파일을 라인단위로 읽을 수 있다면 훨씬 편리할 것이다. 다음과 같이 예제를 수정해 보자. [[MARK]]import java.io.BufferedReader;[[/MARK]] import java.io.FileReader; import java.io.IOException; public class Sample { public static void main(String[] args) throws IOException { [[MARK]]BufferedReader br = new BufferedReader(new FileReader("c:/out.txt"));[[/MARK]] while(true) { String line = [[MARK]]br.readLine()[[/MARK]]; if (line==null) break; // 더 이상 읽을 라인이 없을 경우 while 문을 빠져나간다. System.out.println(line); } br.close(); } } 위 예처럼 FileInputStream 대신 FileReader와 BufferedReader의 조합을 사용하면 라인단위로 파일을 읽을 수 있다. BufferedReader의 readLine 메소드는 더이상 읽을 라인이 없을 경우 null을 리턴한다.

[Java] 자바 파일 입출력 (txt파일로 저장 및 읽어오기)

File 클래스

Java.io패키지에서 제공하는 File클래스는 파일 크기, 파일 속성, 파일 이름 등의 정보를 얻어내는 기능과 파일 생성 및 삭제 기능을 제공하고 있습니다. 그리고 디렉토리를 생성하고 디렉토리에 존재하는 파일 리스트를 얻어내는 기능도 있습니다. 이번 포스팅에서는 이 File클래스와 출력스트림을 활용하여 텍스트(txt)파일을 생성해보고 이것을 입력스트림을 활용하여 읽어오는 예제를 한번 만들어보도록 하겠습니다.

1. txt 파일로 데이터 저장하기

package InputOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; public class OutputSTreamEX { public static void main(String[] args) { try { OutputStream output = new FileOutputStream(“D:/Eclipse/Java/Output.txt”); String str =”오늘 날씨는 아주 좋습니다.”; byte[] by=str.getBytes(); output.write(by); } catch (Exception e) { e.getStackTrace(); } } }

2. txt 파일 불러오기

package InputOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class InputStreamEx { public static void main(String[] args) { try{ //파일 객체 생성 File file = new File(“D:/Eclipse/Java/Output.txt”); //입력 스트림 생성 FileReader file_reader = new FileReader(file); int cur = 0; while((cur = file_reader.read()) != -1){ System.out.print((char)cur); } file_reader.close(); }catch (FileNotFoundException e) { e.getStackTrace(); }catch(IOException e){ e.getStackTrace(); } } }

성능 향상을 위한 고민 (Buffer 활용하기)

프로그램의 성능은 로직에따라서 얼마든지 달라질 수가 있습니다. 아무리 하드웨어가 좋아도 소프트웨어가 구리다면 좋은 성능의 프로그램이 나올 수 없습니다. 소프트웨어에서의 입출력도 마찬가지입니다. 개발자라면 좀 더 효율적으로 입출력을 할 수 있는 방법을 고민해보아야합니다. 속도를 향상 시키는 방법 중 하나로 버퍼를 사용하는 방법이 있을 수 있겠는데요. 예를들어 프로그램은 직접 하드디스크에서 데이터를 가져오지않고 메모리 버퍼로 데이터를 가져오는 방식으로 읽는 속도를 향상 시킬 수 있습니다. 그리고 버퍼는 데이터가 쌓이기를 기다렸다가 꽉차게되면 한번에 읽는 방식으로 입력 횟수를 줄여줍니다.

1. BufferedOutputStream을 활용한 txt 파일로 데이터 저장하기

Buffered OutputStream과 BufferedWriter은 프로그램에서 전송한 데이터를 내부 버퍼에 쌓아두었다가 버퍼가 꽉차면, 버퍼의 모든 데이터를 한꺼번에 보냅니다. 프로그램 입장에서 보면 직접 데이터를 보내는것이 아니라, 메모리 버퍼로 데이터를 고속 전송하기 떄문에 실행 성능이 향상되는 효과를 보게됩니다.

package InputOutputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; public class OutputBufferedStreamEX { public static void main(String[] args) throws IOException { BufferedOutputStream bs = null; try { bs = new BufferedOutputStream(new FileOutputStream(“D:/Eclipse/Java/Output.txt”)); String str =”오늘 날씨는 아주 좋습니다.”; bs.write(str.getBytes()); //Byte형으로만 넣을 수 있음 } catch (Exception e) { e.getStackTrace(); // TODO: handle exception }finally { bs.close(); } } }

2. BufferedInputStream을 활용한 txt 파일 불러오기

BufferedInputStream과 BufferedReader은 입력 소스로부터 자신의 내부 버퍼 크기만큼 데이터를 미리 읽고 버퍼에 저장해둡니다. 프로그램은 외부의 입력 소스로부터 직접 읽는 대신 버퍼로부터 읽음으로써 읽기 성능이 향상되는 효과를 얻을 수 있습니다.

package InputOutputStream; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; public class InputStreamEx { public static void main(String[] args) throws IOException { try { // 바이트 단위로 파일읽기 String filePath = “D:/Eclipse/Java/Output.txt”; // 대상 파일 FileInputStream fileStream = null; // 파일 스트림 fileStream = new FileInputStream( filePath );// 파일 스트림 생성 //버퍼 선언 byte[ ] readBuffer = new byte[fileStream.available()]; while (fileStream.read( readBuffer ) != -1){} System.out.println(new String(readBuffer)); //출력 fileStream.close(); //스트림 닫기 } catch (Exception e) { e.getStackTrace(); } } }

[Java] 파일 생성하는 3가지 방법 (File, FileOutputStream, Files)

지난 번에는 Java API를 이용하여,

텍스트 파일을 읽는 방법을 알아보았습니다.

[Java] 텍스트 파일 읽기 ( FileReader, BufferedReader, Scanner, Files )

이번에는, 파일을 생성하는 3가지 방법을 알아보도록 하겠습니다.

java.io.File java.io.FileOutputStream java.nio.file.Files

1. java.io.File

public boolean createNewFile() throws IOException

File 클래스의 createNewFile() 메소드를 이용하여, 새로운 파일 및 디렉토리를 생성할 수 있습니다.

이 메소드는,

파일을 성공적으로 생성하면, true를 리턴하고,

기존에 이미 동일한 이름의 파일이 있을 경우에는 false를 리턴합니다.

createNewFile() 로 파일 생성 하기 – 코드

import java.io.File; import java.io.IOException; public class CreateFile { public static void main(String[] args) { File file = new File(“d:\\example\\file.txt”); try { if (file.createNewFile()) { System.out.println(“File created”); } else { System.out.println(“File already exists”); } } catch (IOException e) { e.printStackTrace(); } } }

createNewFile() 로 파일 생성 하기 – 결과 1

java.io.IOException: 지정된 경로를 찾을 수 없습니다 at java.base/java.io.WinNTFileSystem.createFileExclusively(Native Method) at java.base/java.io.File.createNewFile(File.java:1026) at CreateFile.main(CreateFile.java:10)

위 결과는, 코드에서 지정한 example 디렉토리가 없을 경우 발생합니다.

createNewFile() 메소드는 파일만 새로 생성합니다.

만약, 지정한 디렉토리가 존재하지 않으면 IOException을 발생시킵니다.

createNewFile() 로 파일 생성 하기 – 결과 2

File created

example 디렉토리를 생성하고,

처음 위 코드를 실행하면, example 디렉토리에 비어있는 file.txt 파일이 생성되고,

createNewFile() 메소드는 true를 리턴합니다.

createNewFile() 로 파일 생성 하기 – 결과 3

File already exists

두번째로, 위 코드를 실행하면,

기존에 만들어진 file.txt 파일이 존재하기 때문에

위 코드는 파일을 새로 생성하지 않고, false를 리턴합니다.

2. java.io.FileOutputStream

public FileOutputStream​(String name) throws FileNotFoundException

public FileOutputStream​(String name, boolean append) throws FileNotFoundException

public FileOutputStream​(File file) throws FileNotFoundException

public FileOutputStream​(File file, boolean append) throws FileNotFoundException

public FileOutputStream​(FileDescriptor fdObj)

FileOutputStream의 생성자를 이용해서 파일을 생성할 수 있습니다.

첫번째 파라미터로,

생성할 파일의 이름 문자열, File 객체, FileDescriptor 객체를 전달합니다.

두번째 파라미터(append)로,

만약 생성하려는 파일이 존재할 경우,

기존 파일을 열어서 그 뒤에 이어서 파일을 작성할지

기존 파일을 덮어쓰고 새로 파일을 생성할지를 지정해 줍니다.

만약, append 값을 true이면,

기존 파일이 있을 경우, 기존 파일을 열어서 그 파일에 내용을 이어붙입니다.

그러나, append 값이 false인 경우, 기존 파일을 덮어쓰기 되므로 주의해야 합니다.

두번째 파라미터(append)를 입력하지 않을 경우, 기본값은 false입니다.

FileOutputStream으로 파일 생성 하기 – 코드

import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class CreateFile { public static void main(String[] args) { File file = new File(“d:\\example\\file.txt”); try { FileOutputStream fileOutputStream = new FileOutputStream(file, true); } catch (FileNotFoundException e) { e.printStackTrace(); } } }

FileOutputStream으로 파일 생성 하기 – 결과 1

java.io.FileNotFoundException: d:\example\file.txt (지정된 경로를 찾을 수 없습니다) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) at java.base/java.io.FileOutputStream.(FileOutputStream.java:237) at CreateFile.main(CreateFile.java:11)

디렉토리가 존재하지 않을 경우, 위와 같이 FileNotFoundException을 발생시킵니다.

FileOutputStream으로 파일 생성 하기 – 결과 2

디렉토리를 만들어주고, 위 코드를 실행하면

위 그림과 같이 비어있는(0KB) 파일이 정상적으로 생성된 것을 확인 할 수 있습니다.

FileOutputStream으로 파일 생성 하기 – 결과 3

예제 코드 실행 전 예제 코드 실행 후

FileOutputStream fileOutputStream = new FileOutputStream(file, true);

만약, 위 코드를 실행하기 전에

이미 d:\example\file.txt 파일이 존재하고,

이 파일에 내용이 있을 경우,

FileOutputStream 생성자의 두번째 파라미터(append)의 값이 true이기 때문에

기존 파일이 유지됩니다.

FileOutputStream으로 파일 생성 하기 – 결과 4

예제 코드 실행 전

new FileOutputStream(file, false) 실행 후

FileOutputStream fileOutputStream = new FileOutputStream(file, false);

FileOutputStream 생성자의 두번째 파라미터(append)를 false로 할 경우,

기존 파일이 지워지고 새로운 빈 파일이 만들어집니다.

3. java.nio.file.Files

public static Path createFile​(Path path, FileAttribute… attrs) throws IOException

Java 7이후부터는 Files.createFile() 메소드를 이용해서 파일을 생성할 수 있습니다.

두번째 파라미터인 FileAttribute 객체는 Optional로, 필수가 아닙니다.

Files로 파일 생성 하기 – 코드

import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CreateFile { public static void main(String[] args) { Path filePath = Paths.get(“d:\\example\\file.txt”); try { Path newFilePath = Files.createFile(filePath); System.out.println(newFilePath); } catch (IOException e) { e.printStackTrace(); } } }

Files로 파일 생성 하기 – 결과 1

java.nio.file.NoSuchFileException: d:\example\file.txt at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235) at java.base/java.nio.file.Files.newByteChannel(Files.java:371) at java.base/java.nio.file.Files.createFile(Files.java:648) at CreateFile.main(CreateFile.java:12)

파일을 생성하려는 디렉토리가 존재하지 않을 경우

(여기서는 d:\example 디렉토리가 없을 경우)

NoSuchFileException이 발생합니다.

Files로 파일 생성 하기 – 결과 2

d:\example\file.txt

이번에는 d:\example 디렉토리를 생성한 후 위 코드를 실행시켰습니다.

정상적으로 빈 파일이 생성되고, Files.createFile() 메소드는 Path 객체를 리턴하였습니다.

Path 객체의 toString()을 이용하여, 생성된 파일의 경로 및 이름을 출력하였습니다.

Files로 파일 생성 하기 – 결과 3

java.nio.file.FileAlreadyExistsException: d:\example\file.txt at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:87) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235) at java.base/java.nio.file.Files.newByteChannel(Files.java:371) at java.base/java.nio.file.Files.createFile(Files.java:648) at CreateFile.main(CreateFile.java:12)

생성하려는 파일이 이미 있을 경우,

FileAlreadyExistException이 발생합니다.

Java API를 이용하여 파일을 생성하는 3가지 방법을 알아보았습니다.

다음번에는 생성된 파일에 텍스트를 입력하는 방법을 알아보도록 하겠습니다.

So you have finished reading the 자바 파일 topic article, if you find this article useful, please share it. Thank you very much. See more: 자바 파일 읽기, 자바 파일 위치, 자바 파일 읽고 쓰기, 자바 파일 열기, 자바 파일 저장, 자바 파일 입출력, 자바 파일 입출력 스트림, 자바 파일 생성

Leave a Comment