알고리즘

Java 코드 정리 (Serialization, File I/O, Networking and Thread)

이온시옥 2018. 12. 6. 05:31
반응형

//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();

}




반응형