- File2024년 08월 11일
- chantleman
- 작성자
- 2024.08.11.: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까지 한 소스
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();
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(); }
728x90'자바' 카테고리의 다른 글
JDBCUtil (0) 2024.08.26 yes24 데이터 DB 넣기 (0) 2024.08.19 데이터 크롤링 (0) 2024.08.09 maven (0) 2024.08.09 톰캣 포트 변경하기 (0) 2024.08.07 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)