사용자가 입력
Scanner sc = new Scanner(System.in);
문자열일 경우
String name = sc.next();
System.out.println(name);
정수일 경우
int i = sc.nextInt();
ystem.out.println(i + " 입력한 숫자");
int i = Integer.parseInt(sc.next());
실수일 경우
double d = Double.parseDouble(sc.next());
double d = sc.nextDouble();
System.out.println("몸무게 " + d);
public class _02_Output {
public static void main(String[] args) {
// 출력
// System.out.format("");
// System.out.printf("포멧", 값1, 값2, 값3.....);
System.out.println("----------정수----------");
System.out.printf("%d%n", 1); // %n 줄바꿈
System.out.printf("%d %d %d %n", 3, 2, 1);
System.out.printf("%d%n", 123456);
System.out.printf("%6d%n", 1234); // %6d 6자리 공간을 확보하고 1234를 출력
System.out.printf("%06d%n", 1234); // 6자리 공간 확보 후 1234출력하는데 빈자리 0으로 채움
System.out.printf("%6d%n", -1234); // _-1234
System.out.printf("%+6d%n", 1234); // _+1234 항상 기호 표시
System.out.printf("%,12d%n", 100000000); // _100,000,000 3자리 마다 ,(콤마)로 구분
System.out.printf("%-6d%n", 1234); // 1234__ 6자리 공간 확보후 왼쪽 정렬
System.out.println("----------실수----------");
System.out.printf("%f%n", Math.PI);
System.out.printf("%.2f%n", Math.PI); // 소수 2번째 자리까지
System.out.printf("%6.2f%n", Math.PI); // 6자리 공간 확보 후 소수 2번째 자리까지
System.out.printf("%6.2f%n", Math.PI); // 6자리 공간 확보 후 소수 2번째 자리까지
System.out.printf("%06.2f%n", Math.PI); // 6자리 공간 확보 후 소수 2번째 자리까지 빈자리 0으로 채움
System.out.printf("%+6.2f%n", Math.PI); // 6자리 공간 확보 후 소수 2번째 자리까지 +기호 붙이기
System.out.println("----------문자열----------");
System.out.printf("%s%n", "Java");
System.out.printf("%6s%n", "Java"); // 6자리 공간 확보 오른쪽 정렬
System.out.printf("%-6s%n", "Java"); // 6자리 공간 확보 왼쪽 정렬
System.out.printf("%6.2s%n", "Java"); // 6자리 공간 확보, 앞에 2글자 출력
System.out.printf("%-6.2s%n", "Java"); // 6자리 공간 확보 왼쪽 정렬 앞에 2글자 출력
System.out.println("----------문자열 응용----------");
System.out.println("이름 영어 수학 평균");
System.out.printf("%s %d %d %.1f %n", "유재석", 90, 80, 85.0);
System.out.println("----------문자열 응용2----------");
System.out.println("이름 영어 수학 평균");
System.out.printf("%-6s %4d %4d %6.1f %n", "이수근", 90, 80, 85.0);
System.out.printf("%-6s %4d %4d %6.1f %n", "이수근", 100, 80, 85.0);
System.out.printf("%-6s %4d %4d %6.1f %n", "이수근", 90, 100, 85.0);
}
}
public class _03_FIle {
public static void main(String[] args) {
// 파일 다루기
String fileName = "test.txt";
File file = new File(fileName);
try {
file.createNewFile(); // 파일 생성, 파일이 있다면 덮어쓰지 않는다
if (file.exists()) {
System.out.println("파일 이름 : " + file.getName());
System.out.println("절대 경로 : " + file.getAbsolutePath());
System.out.println("파일 크기 Byte : " + file.length());
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
폴더 생성
public class _04_Folder {
public static void main(String[] args) {
// 폴더 다루기
String folderName = "A";
File folder = new File(folderName);
folder.mkdir(); // 폴더 생성
if (folder.exists()) {
System.out.println("폴더가 존재합니다 " + folder.getAbsolutePath());
}
}
}
하위폴더
public class _04_Folder {
public static void main(String[] args) {
// 폴더 다루기
String folderName = "A";
File folder = new File(folderName);
folder.mkdir(); // 폴더 생성
if (folder.exists()) {
System.out.println("폴더가 존재합니다 " + folder.getAbsolutePath());
}
// 하위폴더
// 상위 폴더 밑에 하위폴더 하나는 만들 수 있지만 하위폴더의 하위폴더는 못만든다
folderName = "A/B/C";
// "A" + File.separator + "B" + File.separator + "C"
folder = new File(folderName);
// mkdir -> mkdirs
folder.mkdirs(); // 폴더 생성
if (folder.exists()) {
System.out.println("폴더가 존재합니다 " + folder.getAbsolutePath());
} else {
System.out.println("폴더 생성 실패 (mkdirs)");
}
}
}
File filesAndFolders = new File(folder);
System.out.println("현재 폴더 경로 : " + filesAndFolders.getAbsolutePath());
파일과 폴더 구분
for (File file: filesAndFolders.listFiles()) {
// 파일과 폴더 구분
if (file.isFile()) {
System.out.println("(파일) " + file.getName());
} else if (file.isDirectory()) {
System.out.println("(폴더) " + file.getName());
}
}
try(BufferedWriter bw = new BufferedWriter(new FileWriter("goodjob.txt", true))) {
// 내용이 덮어쓰기가 된다
bw.write("1. 이제 거의 끝이 보여. \n");
bw.newLine(); // 줄 바꿈
bw.write("2. 잘 배우고 갑니다");
bw.newLine();
bw.write("정상이 코 앞이야");
} catch (IOException e) {
throw new RuntimeException(e);
try (BufferedReader br = new BufferedReader(new FileReader("goodjob.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
public class _07_DeleteFile {
public static void main(String[] args) {
// 파일, 폴더 삭제
File file = new File("test.txt");
if (file.delete()) {
System.out.println("파일 삭제 성공 : " + file.getName());
} else {
System.out.println("파일 삭제 실패 : " + file.getName());
}
file = new File("goodjob.txt");
if (file.exists()) {
if (file.delete()) {
System.out.println("파일 삭제 성공 : " + file.getName());
} else {
System.out.println("파일 삭제 실패 : " + file.getName());
}
}
// 하위폴더가 있으면 상위폴더 삭제 불가능
// 아래 코드는 맨 하위폴더 하나 삭제
// File folder = new File("A/B/C");
File folder = new File("A/");
if (folder.exists()) {
if (folder.delete()) {
System.out.println("폴더 삭제 성공 " + folder.getAbsolutePath());
} else {
System.out.println("폴더 삭제 실패 " + folder.getAbsolutePath());
}
}
if (deleteFolder(folder)) {
System.out.println("*폴더 삭제 성공 " + folder.getAbsolutePath());
} else {
System.out.println("*폴더 삭제 실패 " + folder.getAbsolutePath());
}
}
// 전체 폴더 삭제
// 재귀를 통해서 맨 하위폴더 까지가서 삭제
public static boolean deleteFolder(File folder){
if (folder.isDirectory()) {
for (File file : folder.listFiles()){
deleteFolder(file);
}
}
System.out.println("삭제 " + folder.getAbsolutePath());
return folder.delete();
}
}