가자미의 개발이야기

[자바] 파일 시스템 본문

Java/자바 기본 문법

[자바] 파일 시스템

가자미 2021. 3. 1. 09:10

간단한 입출력의 예(IO스트림으로도 가능하지만, 코드 량이 많은 단점이 있음)

public static void main(String[] args) throws IOException{
	Path fp = Paths.get("C:\\JavaStudy\\simple.bin");
	
	//파일 생성, 파일이 존재하면 예외
	fp = Files.createFile(fp);
	
	byte buf1[] = {0x13, 0x14, 0x15};	//파일에 쓸 데이터
	for(byte b : buf1)	//저장할 데이터의 출력을 위한 반복문
		System.out.print(b+"\t");
	System.out.println();
	
	//파일에 데이터 쓰기
	Files.write(fp, buf1, StandardOpenOption.APPEND);
	//append 추가 create 생성 create_new 새 파일 생성 truncate_erasing 파일이 존재하면 덮어쓰기
	
	//파일로부터 데이터 읽기
	byte buf2[] = Files.readAllBytes(fp);
	
	for(byte b : buf2)	//읽어 들인 데이터의 출력을 위한 반복문
		System.out.print(b+"\t");
	System.out.println();
}

문자 데이터의 간단한 입출력

class SimpleTxtWriteRead{
	public static void main(String[] args) throws IOException{
		Path fp = Paths.get("C:\\JavaStudy\\simple.txt");
		String st1 = "One simple Stirng";
		Stirng st2 = "Two simple String";
		List<String> lst1 = Arrays.asList(st1, st2);
		
		Files.write(fp, lst1);	//파일에 문자열 저장하기
		List<String> lst2 = Files.readAllLines(fp);	//파일로부터 문자열 읽기
		System.out.println();
	}
}

파일 및 디렉토리의 복사와 이동

class CopyFileFromFiles{
	public static void main(String[] args) throws IOException {
		Path src = Paths.get("C:\\JavaStudy\\CopyFileFromFiles.java");
		Path dst = Paths.get("C:\\JavaStudy\\CopyFileFromFiles2.java");
		
		//src가 지시하는 파일을 dst가 지시하는 위치와 이름으로 복사
		Files.copy(src, dst,StandardCopyOption.REPLACE_EXISTING);
	}
}

class MoveFileFromFiles{
	public static void main(String[] args) throws IOException {
		Path src = Paths.get("C:\\JavaStudy\\Dir1");
		Path dst = Paths.get("C:\\JavaStudy\\Dir2");
		
		//src가 지시하는 파일을 dst가 지시하는 위치와 이름으로 복사
		Files.move(src, dst,StandardCopyOption.REPLACE_EXISTING);
	}
}