JAVA 기초

JAVA 18-1

Vanillwa 2023. 9. 5. 20:14

자바는 입출력을 처리하기 위해 별도의 IO 패키지를 지원합니다.

자바 프로그램이 외부와 접속하여 데이터를 주고받을 수 있도록 작업을 도와주는 통로를

스트림 (Stream) 이라고 하며 Input과 Output Stream으로 나뉩니다.

 

package ex1_file;

import java.io.File;

public class Ex1_file {
	public static void main(String[] args) {
		String path = "C:\\WEB\\work\\Ex_0905/test.txt";

		File f = new File(path);

		if (f.isFile()) { // 최종 목적지가 file이면 true 아니면 false 반환
			System.out.println(f.length() + "byte"); // 최종 목적지 파일의 크기 반환
		}
	}
}

 

test.txt

 

실행 결과


package ex1_file;

import java.io.File;

public class Ex2_file {
	public static void main(String[] args) {
		String path = "C:\\WEB\\work\\Ex_0905";

		File f = new File(path);

		if (f.isDirectory()) // 최종 목적지가 폴더면 true 아니면 false
		{
			String names[] = f.list();// 최종 목적지가 폴더이면 그 안에있는 파일들의 이름을 배열로 반환
			for (String i : names) {
				System.out.println(i);
			}
		}
	}
}

 

경로에 위치한 폴더 및 파일들

 

실행 결과

 


 

package ex1_file;

import java.io.File;

public class Ex3_file {
	public static void main(String[] args) {
		String path = "C:\\WEB\\work\\Ex_0905/abc";
		
		File f = new File(path);
	
		if(!f.exists()) {// 경로상의 폴더나 파일이 정상적으로 존재하면 true 아니면 false 반환
			f.mkdirs(); // 폴더 생성
		}
	}
}

실행 결과 : 경로에 abc폴더가 새롭게 생김

 


 

package ex2_fileinput;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Ex1_fileInputStream {
	public static void main(String[] args) {
		String path = "C:\\WEB\\work\\Ex_0905/test.txt";

		File f = new File(path);

		if (f.exists()) {
			try {
				FileInputStream fis = new FileInputStream(f);

				// read() : 목적지로 가서 데이터를 1바이트씩 읽어서 반환
				// 더이상 읽은 데이터가 없으면 문장의 끝(end of file)인 -1을 반환

				int code = 0;

				while ((code = fis.read()) != -1) {
					System.out.printf("%c", (char) code);
				}
				fis.close();

			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

 

test.txt

 

실행 결과

 


 

'JAVA 기초' 카테고리의 다른 글

JAVA 19-2  (0) 2023.09.06
JAVA 19-1  (0) 2023.09.06
JAVA 17-2  (0) 2023.09.05
JAVA 17-1  (0) 2023.09.05
JAVA 16-2  (0) 2023.09.01