package ch14;
import java.io.File;
public class FileEx1 {
public static void main(String[] args) {
File f = new File("ch14/FileEx1.java");
System.out.println(f.exists());
if(f.exists()) {
System.out.println("파일이름" + f.getName());
System.out.println("상대경로" + f.getPath());
System.out.println("절대경로" + f.getAbsolutePath());
System.out.println("쓰기가능" + f.canWrite());
System.out.println("읽기가능" + f.canRead());
System.out.println("파일크기" + f.length()+"byte");
}else {
System.out.println("파일이 존재하지 않습니다.");
}
}
}

package ch14;
import java.io.File;
public class FileEx2 {
public static void main(String[] args) {
String dir = "C:/Windows";
File fdir = new File(dir);
if(fdir.isDirectory()) {
System.out.println("검색 디렉토리 " + dir);
System.out.println("=========================");
String list[] = fdir.list();
for (int i = 0; i < list.length; i++) {
File f = new File(dir + File.separator+list[i]);
if(f.isDirectory()) {
System.out.println("["+list[i]+"]");
}else {
System.out.println(list[i]);
}
}
}else {
System.out.printf("지정한 %s 는 디렉토리가 아닙니다.",dir);
}
}
}

package ch14;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public class BufferedReaderEx1 {
public static void main(String[] args) {
// InputStream is = System.in;
// InputStreamReader isr = new InputStreamReader(is);
// BufferedReader bw = new BufferedReader(isr);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = "";
while(true) {
try {
s = br.readLine();
System.out.println("출력 : "+s);
} catch (Exception e) {
}
}
}
}

package ch14;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
public class BufferedWriterEx1 {
public static void main(String[] args) {
String str = "오늘은 정말 즐거운 금요일 입니다.";
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
try {
bw.write(str, 0, str.length());
bw.newLine();
bw.write(str);
bw.newLine();
bw.flush();
bw.close();
} catch (Exception e) {
}
}
}

package ch14;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
public class FileCopyEx1 {
public static void main(String[] args) {
try {
Scanner sc = new Scanner(System.in);
System.out.print("원본파일 : ");
String sFile = sc.nextLine();
System.out.print("복사파일 : ");
String cFile = sc.nextLine();
FileReader fr = new FileReader("ch14/" + sFile);
//파일 생성
FileWriter fw = new FileWriter("ch14/" + cFile);
int a;
while((a=fr.read())!=-1){
fw.write(a);
}
fw.close();
fr.close();
System.out.println("Copy End!!!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
package ch14;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.FileDialog;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileCopyEx2 extends MFrame implements ActionListener {
Button open, save;
TextArea ta;
FileDialog openDialog, saveDialog;
String sourceDir;
String sourceFile;
public FileCopyEx2() {
super(400, 500);
setTitle("FileCopyEx2");
add(ta = new TextArea());
Panel p = new Panel();
saveDialog = new FileDialog(this, "파일 저장", FileDialog.SAVE);
p.add(open = new Button("OPEN"));
p.add(save = new Button("SAVE"));
ta.setEditable(false);
open.addActionListener(this);
save.addActionListener(this);
add(p, BorderLayout.SOUTH);
validate();
}
@Override
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
BufferedReader br;
FileReader fr;
if (obj == open) {
openDialog = new FileDialog(this, "파일 열기", FileDialog.LOAD);
openDialog.setVisible(true);
sourceDir = openDialog.getDirectory();
sourceFile = openDialog.getFile();
try {
fileReader(sourceDir + sourceFile);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} else if (obj == save) {
saveDialog = new FileDialog(this, "파일 저장", FileDialog.SAVE);
saveDialog.setVisible(true);
String sourceDir, sourceFile;
sourceDir = saveDialog.getDirectory();
sourceFile = saveDialog.getFile();
fileWriter(sourceDir + sourceFile);
}
}
// 선택된 파일의 내용이 ta에 append 해야함
public void fileReader(String file) throws IOException {
try {
FileReader fr = new FileReader(file);
int a;
String s = "";
while ((a = fr.read()) != -1) {
s += (char) a;
}
ta.setText(s);
fr.close();
} catch (Exception e) {
e.printStackTrace();
}
}
// ta에 오픈된 텍스트를 지정한 파일로 저장 해야함
public void fileWriter(String file) {
try {
FileWriter fw = new FileWriter(file);
fw.write(ta.getText());
for (int i = 5; i > 0; i--) {
ta.setText("저장 되었습니다." + i + "초후에 사라집니다.");
Thread.sleep(1000);
}
ta.setText("");
fw.close();
} catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
new FileCopyEx2();
}
}

package ch14;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class FileCopyEx3 {
public static void main(String[] args) {
copyFileByStream("ch14/aaa.pdf", "ch14/bbb.pdf");
}
public static void copyFileByStream(String sourcePath, String targetPath) {
File source = new File(sourcePath);
File target = new File(targetPath);
if (!source.exists()) {
return;
}
if (!target.getParentFile().exists()) {
target.getAbsoluteFile().mkdirs();
// target.getAbsoluteFile().mkdirs();
}
try {
InputStream is = new FileInputStream(source);
OutputStream os = new FileOutputStream(target);
int temp;
byte[] data = new byte[1024];
while ((temp = is.read(data)) != -1) {
os.write(data, 0, temp);
}
os.close();
is.close();
System.out.println("Copy End~~");
} catch (Exception e) {
e.printStackTrace();
}
}
}


Installed 창으로 이동 후 설치

Workbench 실행한 화면


create database 클릭 후 생성

db 다이어그램을 볼 수 있음
