목록Java (77)
가자미의 개발이야기
간단한 입출력의 예(IO스트림으로도 가능하지만, 코드 량이 많은 단점이 있음) public static void main(String[] args) throws IOException{ Path fp = Paths.get("C:\\JavaStudy\\simple.bin"); //파일 생성, 파일이 존재하면 예외 fp = Files.createFile(fp); byte buf1[] = {0x13, 0x14, 0x15};//파일에 쓸 데이터 for(byte b : buf1)//저장할 데이터의 출력을 위한 반복문 System.out.print(b+"\t"); System.out.println(); //파일에 데이터 쓰기 Files.write(fp, buf1, StandardOpenOption.APPEND); /..
java.nio.file.Path Path path = Paths.get("C:\\JavaStudy\PathDemo.java");//get메소드는 Paths클래스의 메소드 class PathDemo{ public static void main(String[] args){//모든 반환형이 Path인 것에 주목!!! Path pt1 = Paths.get("C:\\JavaStudy\PathDemo.java"); Path pt2 = pt1.getRoot();//루트 디렉토리 반환 Path pt3 = pt1.getParent();//부모 디렉토리 반환 Path pt4 = pt1.getFileName();//파일 이름 반환 현재 디렉토리 정보 출력 예시 class CurrentDir{ public static vo..
기본적인 파일 시스템 C:javastudy\simple.java //윈도우의 파일 경로. 다수의 상위 디렉토리 가질 수 있음 /javastudy/simple.java//리눅스의 파일 경로를 나타내는 방식 : 하나의 상위 디렉토리를 가짐 파일을 불러올 때 두가지 방법이 있다. 한가지는 상대경로, 나머지는 절대경로이다. 절대경로 File playerFile = new File(" C:\\Users\\YANG\\eclipse-workspace\\nba_allstar\\nba_allstar_2021\\playerWithStat.txt"); 절대경로는 해당 파일이 위치한 경로를 그대로 복사해 적는다. 상대경로 File playerFile = new File("playerWithStat.txt"); 상대경로는 해당..
다음과 같이 탭을 기준으로 농구 선수 이름과 스탯이 적혀있는 텍스트 파일을 나눠서 저장하려면 어떻게 해야 할까. 안테토쿰보872567약f 브래들리빌727486중g 스테판커리6110345중g 루카돈치치745597중g 조엘엠비드696566약c 카이리어빙718386강g 니콜라요키치767477강c 카와이레너드757865강f 제이슨테이텀657757약g 데빈 부커727477강g 폴 조지647867중f 루디고베어3100338약c 제임스하든848589강g 잭 라빈637758강g 데미안릴라드729377강g 도노반미첼718366중g 크리스 폴557886강g 줄리어스랜들666658약f 벤 시몬스771958약g 제일런브라운665847약g 니콜라부세비치786556약c 자이온윌리엄슨962859약c 르브론제임스888887강f 케빈..
인스턴스를 바이트로 쪼개서 I/O스트림으로 보내게 해주는 오브젝트 스트림 ObjectInputStream//인스턴스를 입력하는 스트림 : 인스턴스 직렬화 ObjectInputStream oi = new ObjectInputStream(new FileInputStream("object.bin") ObjectOutputStream//인스턴스를 출력하는 스트림 : 인스턴스 역직렬화 ObjectOUtputStream oo = new ObjectOutputStream(new FileOutputStream("object.bin") 사용방법이나 역할이 필터 스트림과 비슷. ObjectOutputStream 예제 public class SBox implements java.io.Serializable{ //인스턴스 직..
자바의 문자 표현은 유니코드이다. 윈도우의 문자 표현은 CP949이다. 이렇게 os마다 문자 표현 방식이 다를 수 있다. 이런 충돌을 방지하는 것이 문자 스트림이다. class SimpleWriter{ public static void mian(String[] args) { try(Writer out = new FileWriter("data.txt")){ //문자 출력 스트림 생성 out.write('a'); out.write('한'); } catch(IOException e) { e.printStackTrace(); } } } FileReader 예제 class SimpleWriter{ public static void mian(String[] args) { try(Reader in = new File..
입력 스트림은 데이터를 바이트 단위로 입출력 한다. 만약 int형 데이터를 읽어와도 바이트형으로 받아진다. 프로그램에서 int형으로 사용하려면 필터 스트림이 필요하다. InputStream in = new FileInputStream("data.dat");// 입력 스트림 생성 DataInputStream fIn = new DataInputStream(in);// 필터 스트림 생성 및 연결 OutputStream out = new FileOutputStream("data.dat");//출력 스트림 생성 DataOutputStream fOut = new DataOutputStream(out);//필터 스트림 생성 및 연결 필터 스트림을 close하면 기본 스트림도 자연스럽게 닫힌다. 입출력 필터 스트림의 ..
1. I/O 스트림 -I/O 스트림 : 어떻게 데이터를 입력하고 출력할 것인가. -입력 스트림(읽기) : 자바 프로그램으로 데이터를 읽음 -출력 스트림(저장) : 자바 프로그램에서 데이터를 내보냄 -입력과 출력을 동시에 할 수 있는 스트림은 없다. InputStream in = new FileInputStream("data.dat");//입력 스트림 생성 int data = in.read();//데이터 읽기 in.close();//스트림 종료 OutputStream out = new FileOutputStream("data.dat");//출력 스트림 생성 out.write(7);//데이터 7을 파일에 전달 out.close();//스트림 종료 I/O 스트림을 사용할 때 중요한 점은 스트림이 만들어지지 않..
1. 날짜 시각 관련 클래스 -시각을 표현하는 Instant, 시간을 표현하는 Duration(시간의 차이) import java.time.Duration; import java.time.Instant; public class StreamPtc { public static void main(String[] args) { Instant start = Instant.now();//현재 시각 정보를 담음 System.out.println("시작 : "+ start.getEpochSecond()); Instant end = Instant.now(); System.out.println(" 끝 : "+end.getEpochSecond()); Duration between = Duration.between(start..
1. 스트림 생성과 연결 -스트림을 생성과 동시에 원소를 전달하는 of -static Stream of(T....values) --double, int, long 형 스트림에도 오버로딩 되어 있음. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import java.util.Arrays; import java.util.List; import java.util.stream.Stream; public class StreamPtc { public static void main(String[] args) { Stream.of(11,22,33,44)//4개의 값으로 스트림 생성(원소 4개) .forEach(n->System.out.print(n+"\t")); Syste..