Java 코드 정리 (Serialization, File I/O, Networking and Thread)
//Serialization and File I/O
//Serialization
//Write
FileOutputStream f = new FileOutputStream("filename");
ObjectOutputStream os = new ObjectOutputStream(f);
os.writeObject(myFoo);
os.close();
//Read
FileInputStream f = new FileInputStream("filename");
ObjectInputStream os = new ObjectInputStream(f);
Object a = os.readObject();
Foo myFoo = (Foo) a;
//File I/O
//File Access
File f = new File("filename"); //파일이나 디렉토리나 동일하게 취급.
//Make Directory
File dir = new File("directoryName");
dir.mkdir();
//Driectory List Print
File dir = new File("directoryName");
if (dir.isDirectory == true) {
String [] list = dir.List();
for(int i=0; i<list.length; i++) {
System.out.Println(list);
}
dir.close();
}
//Print Absolute Path
File dir = new File("directoryName");
System.out.println(dir.getAbsolutePath());
//Delete a file
File f = new File("filename");
boolean deleted = f.delete();
//Read text file
File f = new File("filename");
FileReader r = new FileReader(f);
BufferedReader reader = new BufferedReader(r);
String line = null;
while( (line=reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
//Write text file
file f = new File("filename");
FileWriter w = new FileWriter(f);
BufferedWriter writer = new BufferedWriter(w);
writer.write("hello~");
writer.close();
//Networking and thread
//read from socket
Socket s = new Socket("127.0.0.1", 4242);
InputStreamReader is = new InputStreamReader(s.getInputStream());
BufferedReader r = new BufferedReader(is);
String text = r.readLine();
r.close();
//write from socket
Socket s = new Socket("127.0.0.1", 4242);
PrintWriter w = new PrintWriter(s.getOutputStream());
w.print("hello~!");
w.close();
//simple server
ServerSocket ss = new ServerSocket(4242);
while(true) {
Socket s = ss.accept();
PrintWriter w = new PrintWriter(s.getOutputStream());
w.print(text);
w.close();
}
//Thread 생성
public class myThreadJobs implements Runnable {
public void Run() {
//쓰레드에서 수행할 코드 작성.
}
}
public static void main() {
Runnable r = new myThreadJobs();
Thread t = new Thread(r());
t.start();
}