자바

File

chantleman 2024. 8. 11. 17:12

 

 

폴더 생성

 

	File dir2 = new File("D:/test/1");
	if(dir2.mkdir())	System.out.println(dir2+"만들기 성공");
	else	System.out.println(dir2+"만들기 실패");

 

mkdir()는 부모 폴더를 먼저 만든 후에 자식 폴더를 만들어야 함

부모, 자식 폴더를 한 번에 생성하고 싶다면 mkdirs()를 사용해야 함

 

 

 

	File dir1 = new File("D:/test/1/2");
	if(!dir1.exists())
	{
		if(dir1.mkdirs()) {
			System.out.println(dir1+"만들기 성공");
		}
		else {
			System.out.println(dir1+"만들기 실패");
		}
	}

 

 


 

파일 생성

 

	File f = new File("D:/test/java.txt");
		if (!f.exists()) {
			try {
				f.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

 

 

 

 


 

 

데이터 읽기

 

	FileInputStream fis = null;
	fis = new FileInputStream("D:\\test/abcd.txt"); 
	int data =0;
  	while((data=fis.read())!=-1) //데이터가 없으면 -1 반환   
	{
		System.out.println((char)(data));
	}
	fis.close();

 

 

 

 

try-catch까지 한 소스

<hide/>
	FileInputStream fis = null;
	try {
		fis = new FileInputStream("D:\\test/abcd.txt"); 
		int data =0;
		while((data=fis.read())!=-1) //데이터가 없으면 -1 반환
		{
			System.out.println((char)(data));
		}			
	} catch (Exception e) {
		e.printStackTrace();
	}
	finally {
		try {
			fis.close();
		} catch (IOException e) {
			e.printStackTrace();
		} 
	}

 

 

BufferInputStream 

	FileInputStream fis = new FileInputStream("D:/test/java.txt");
			
	//지정하지 않으면 기본 사이즈 8192
	BufferedInputStream bis = new BufferedInputStream(fis);
	int data=0;
	while((data=bis.read())!=-1)
	{
		System.out.println((char)data);
	}

하드디스크에 자주 접촉하는 것은 물리적 손상을 일으킬 수 있으며 속도가 느림

따라서 한 번 접촉할 때 많은 값을 가져오는 것이 속도와 물리적인 측면에서 유리함

기본적으로 8192 바이트 크기를 가지며 사이즈를 수정할 수도 있음

 

 

 


 

 

데이터 쓰기

 

	FileOutputStream fos = null;
	fos = new FileOutputStream("D:/test/java.txt");
	String str = "abcde";
	fos.write(str.getBytes()); 
    fos.close();

 

 

<hide/>
	FileOutputStream fos = null;
		
	try {
		fos = new FileOutputStream("D:/test/java.txt");
		String str = "abcde";
		fos.write(str.getBytes()); //파일은 바이트로 이루어져있기 때문에 byte로 
	} catch (Exception e) {
		e.printStackTrace();
	}
	finally {
		try {
			fos.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

 

 


 

파일 복사

 

	Path source = Paths.get("D:/test/abcd.txt");
	Path target = Paths.get("D:/test/javaCopy.txt");
		
	try {
		Files.copy(source, target,StandardCopyOption.REPLACE_EXISTING); //이미 있으면 덮어씌움
	} catch (IOException e) {
		e.printStackTrace();
	}

 

 

'자바' 카테고리의 다른 글

JDBCUtil  (0) 2024.08.26
yes24 데이터 DB 넣기  (0) 2024.08.19
데이터 크롤링  (0) 2024.08.09
maven  (0) 2024.08.09
톰캣 포트 변경하기  (0) 2024.08.07