※ 메타클래스(메타정보를 갖는 클래스, 정보를 담고 있는 클래스, 실행이나 객체생성 용도 X)
java.lang.Object - 객체정보를 갖고있는 클래스
java.lang.Class - 클래스정보를 갖고있는 클래스
java.io.File - 파일정보를 갖고있는 클래스
public class FileTest {
public static void main(String[] args) {
File f;
f = new File("D:\\");
if(f.isDirectory()) { // if(f.isDirectory()==true) { 같은말
String[] list = f.list();
// f.list = f.list Directory가 가지고 있는 파일명, 하위 디렉토리명 배열로 반환
for(String sub:list) {
System.out.println(sub);
}
}
}
}
public class FileTest {
public static void main(String[] args) {
File f;
f = new File("D:\\");
if(f.isDirectory()) { // if(f.isDirectory()==true) { 같은말
File[] files = f.listFiles();
for(File file:files) {
String name = file.getName();
if(file.isFile()) { // d:\\의 하위파일
long fileSize = file.length();
long lastModifiedTime = file.lastModified();
// 파일을 사용한 최종 사용시간
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd a hh:mm");
String formatStr = sdf.format(new Date(lastModifiedTime));
System.out.println(name + "\t" + formatStr + "\t" + fileSize);
// \t 탭크기
} else { // d:\\의 하위폴더
System.out.println("[" + name + "]");
}
}
}
public class FileTest {
public static void main(String[] args) {
String folder = "D:\\attache";
File file = new File(folder);
if(!file.exists()) { // 폴더의 유무 확인, =if(file.exists() == false){
boolean result = file.mkdir();
if(result) {
System.out.println(folder + "폴더가 생성되었습니다");
} else {
System.out.println(folder + "폴더가 생성 안되었습니다");
}
} else {
System.out.println(folder + "폴더가 이미 존재합니다");
}
String fileName = "a.txt";
File file1 = new File(file, fileName);
try {
if(!file1.exists()) {
file1.createNewFile(); // 0kb의 파일이 만들어지기만 함
System.out.println(fileName + "파일이 생성되었습니다");
} else {
System.out.println(fileName + "파일이 이미 존재합니다");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataIOTest {
public static void write() {
/*
* 스트림: 바이트단위 출력스트림
* 필터스트림 : 데이터타입단위 출력스트림
* 목적지 : 파일
*/
String fileName = "a.dat"; // 상대경로
FileOutputStream fos = null;
DataOutputStream dos = null;
try {
fos = new FileOutputStream(fileName);
dos = new DataOutputStream(fos);
dos.writeInt(1);
dos.writeFloat(2.3F);
dos.writeBoolean(false); //
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(dos != null) {
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void read() {
/*
* 스트림: 바이트입력스트림
* 필터스트림: 데이터타입단위 입력스트림
* 자원 : 파일
*/
String fileName = "a.dat"; // 상대경로
FileInputStream fis = null;
DataInputStream dis = null;
try {
fis = new FileInputStream(fileName);
dis = new DataInputStream(fis);
int i = dis.readInt();
float f = dis.readFloat();
boolean b = dis.readBoolean();
System.out.println(i + ":" + f + ":" + b);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(dis != null) {
try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
write();
read();
}
}
※"a.dat";의 경로
: 현재 oop부터(프로젝트 경로)
'언어 > Java' 카테고리의 다른 글
필터스트림, 직렬화 예시 (0) | 2023.08.09 |
---|---|
필터스트림, 객체직렬화 (0) | 2023.08.09 |
FileCopy 예제 (0) | 2023.08.09 |
입출력 스트림 예시 (0) | 2023.08.09 |
프린트 스트림, System.in 예시 (0) | 2023.08.09 |