File 클래스를 이용해 해당 경로의 정보를 추출 해라
package kosta.io;
import java.io.File;
public class FileExam {
public static void show(File file) {
if(file.isDirectory()) {
File[] files = file.listFiles();
for(int i = 0; i < files.length; i++) {
System.out.println("파일 이름 : " + files[i].getName());
}
}else {
System.out.println("이름 : " + file.getName());
}
}
public static void main(String[] args) {
String path = "C:\\KOSTA\\KOSTA_Study\\workspace\\Java_work\\Java236\\src\\kosta";
File f = new File(path);
show(f);
}
}
재귀함수를 이용해 팩토리얼을 구현 해라
package kosta.io;
import java.util.Scanner;
public class RecurExam {
static int f(int n) {
if(n > 1) {
return n*f(n-1);
}else {
return 1;
}
}
public static void main(String[] args) {
//재귀함수(팩토리얼계산)
//5! = 5*4*3*2*1
Scanner sc = new Scanner(System.in);
System.out.print("정수 입력 : ");
int n = sc.nextInt();
System.out.println(n + "! =" + f(n));
}
}
재귀함수를 이용해 폴더 안에 파일 이름을 추출해라
package kosta.io;
import java.io.File;
public class FileExam {
public static void fileList(File file) {
File list[] = file.listFiles();
for(int i = 0; i < list.length; i++) {
if(list[i].isDirectory()) {
System.out.println();
System.out.println("** "+list[i].getName() + " Dir**");
fileList(list[i]);
}else {
System.out.println(" - " + list[i].getName());
}
}
}
public static void main(String[] args) {
String path = "C:\\KOSTA\\KOSTA_Study\\workspace\\Java_work\\Java236\\src\\kosta";
File f = new File(path);
fileList(f);
}
}
특정 경로에 있는 이미지 파일을 다른 경로에 복사하여라
FileMission.java
package kosta.io;
import java.io.File;
import java.io.FileReader;
public class FileMission {
public static void main(String[] args) {
//1. 바이트스트림을 이용하여 파일을 복사
String soure = "C:\\KOSTA\\array.PNG";
String dest = "C:\\KOSTA\\KOSTA_Study\\array.PNG";
File f = new File(soure);
File f2 = new File(dest);
FileUtil fu = new FileUtil();
fu.copyFile(f, f2);
}
}
FileUtil.java
package kosta.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class FileUtil {
//바이트값을 가진 1개의 파일을 복사하는 기능
public static void copyFile(File source, File dest) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(source);
fos = new FileOutputStream(dest);
byte[] bytes = new byte[1024];
while(true) {
int data = fis.read(bytes);
if(data == -1) break;
fos.write(bytes);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
fos.close();
fis.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
}
}