JAVA
업 다운 게임
test.txt 의 파일을 읽어와 업다운 게임을 진행하고
정답을 기록을 작성해서 test.txt에 덮어쓰기
package class02;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Task01 {
public static void main(String[] args) {
String filePath ="C:\\src\\class02\\";
String fileName = "test.txt";
FileReader fileReader;
String line="";
try {
fileReader = new FileReader(filePath+fileName);
BufferedReader reader = new BufferedReader(fileReader);
line = reader.readLine();
} catch (FileNotFoundException e) {
System.out.println("파일명 오류");
} catch (IOException e) {
System.out.println("입출력 과정중 오류 발생");
}
// 자료형변환(타입캐스팅)을 담당하는 클래스
// Wrapper 클래스
int ansNum=Integer.parseInt(line);
int startNum=1;
int endNum=50;
int cnt = 1;
Scanner sc=new Scanner(System.in);
while(true) {
System.out.print(startNum+" ~ "+endNum+" 중에서 정수 입력 >> ");
int num=sc.nextInt();
if(ansNum < num) {
System.out.println("DOWN!");
endNum=num-1;
cnt++;
}
else if(ansNum > num) {
System.out.println("UP!");
startNum=num+1;
cnt++;
}
else {
break;
}
}
System.out.println(cnt +"회만에 정답을 맞추셨습니다! :D");
FileWriter fileWriter;
try {
fileWriter = new FileWriter(filePath+fileName);
BufferedWriter writer = new BufferedWriter(fileWriter);
writer.write(cnt+"회만에 정답을 맞추셨습니다! :D");
writer.close();
} catch (IOException e) {
System.out.println("파일 입출력 오류 발생");
}
}
}
이미지 파일 복사하기
public static void main(String[] args) {
String filePath = "C:\\resource"; // 파일경로
String fileName = "programmer.png"; // 복사할 파일 이름
String copyFileName = "programmer2.png"; // 복사될 파일 이름
File sourceFile = new File(filePath+fileName); // 원본 이미지 파일 경로 및 이름
File newSourceFile = new File(filePath+copyFileName); // 복사될 파일의 경로 및 이름
try {
BufferedImage image = ImageIO.read(sourceFile);
// 원본 이미지 파일을 읽어 메모리에 "BufferedImage" 객체로 로드함
ImageIO.write(image, "png", newSourceFile);
// image = 복사할 이미지 이미지
// 이미지 포맷
// newSourceFile = 저장될 파일
// 읽어들인 이미지를 지정된 모맷과 파일 경로로 저장함
System.out.println("복사 완료");
} catch (IOException e) { // 입출력 예외
System.out.println("복사중 입출력 오류 발생");
}
}
[Stream을 이용한 방법]
public static void main(String[] args) {
String filePath = "C:\\resource"; // 파일경로
String fileName = "programmer.png"; // 복사할 파일 이름
String copyFileName = "programmer2.png"; // 복사될 파일 이름
try {
FileInputStream fis = new FileInputStream(filePath+fileName);
FileOutputStream fos = new FileOutputStream(filePath+copyFileName);
byte[] buffer = new byte[1024];
int content;
while ((content = fis.read(buffer)) != -1) {
fos.write(buffer, 0, content);
}
fos.close();
} catch (IOException e) {
System.out.println("오류발생!");
}
}
스트림 : 텍스트 파일, 바이너리 파일 등 파일의 다양한 유형의 파일 데이터를 읽고 쓰는 데 사용
ImageIO : 이미지 파일을 읽고 쓰는 데 특화된 클래스
'javaboiii의 JAVA > JAVA 예제' 카테고리의 다른 글
JAVA - 웹 클롤링(Web Crawling) (0) | 2024.07.25 |
---|---|
JAVA - MVC패턴 예제 (0) | 2024.07.18 |
JAVA - ArrayList, Map 예제 (0) | 2024.07.15 |
JAVA - 인터페이스 예제 (0) | 2024.07.12 |
JAVA - [함수] 학생부 프로그램 함수화 (0) | 2024.07.01 |