try 구문 밖에서 사용할 스트림 객체 참조변수 선언
try 구문 안에서 스트림 객체 생성 및 사용(읽기,쓰기)
finally 구문안에서 사용한 스트림 close
InputStream
read()
read(byte[] b)
read(byte[] b, int off, int length)
OutputStream
write(int a)
write(byte[] a)
write(byte[] b, int off, int length)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileReaderTest {
public static void main(String[] args) {
BufferedReader in = null;
BufferedWriter out = null;
try{
out = new BufferedWriter(new FileWriter("data.txt"));
out.write("꿈에 미치면 신화가 된다");
out.append(".");
out.flush();
in = new BufferedReader(new FileReader("data.txt"));
// int c;
// while( (c = in.read()) != -1)
// System.out.print((char) c);
String msg = null;
while ((msg = in.readLine()) != null)
System.out.println(msg);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (in != null)
in.close();
if (out != null)
out.close();
} catch (IOException e) {
e.printStackTrace();
}}}}
보조 스트림
문자 변환 보조 스트림
바이트스트림 -> InputStreamReader -> 문자스트림
문자스트림 -> OutputStreamWriter -> 바이트스트림
import java.io.BufferedReader;//import java.io.BufferedWriter; //import java.io.FileInputStream;
import java.io.FileReader; //import java.io.FileWriter; //import java.io.IOException;
import java.io.InputStreamReader; //import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// BufferedReader in = null;
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter("log.txt"));// 스트림 객체 생성
while (true) {
System.out.println("기록할 내용을 입력 : ");
String msg = scan.nextLine();
if (msg.equals("quit"))
break;
writer.write(msg + "\n");// 이 코드를 사용자가 quit를 입력할때까지 반복
}
writer.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null)
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
·서버(Server): 사용자들에게 서비스를 제공하는 컴퓨터
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class UdpSender {
public static void main(String[] args) {
try {
InetAddress ip = InetAddress.getByName("70.12.109.114");
//UDP전송 순서 // 소켓 생성 // 보낼 데이터를 바이트 배열로 준비
//준비한 바이트 배열을 목적지 주소와 목적지 포트 번호를 포함해 패킷으로 준비
//소켓을 통해 패킷 전송
DatagramSocket socket = new DatagramSocket();
//데이터를 받고자 할때는 소켓 생성자에 사용할 포트번호 기재
//보내기만 할때는 안써도 됨//안쓰면 내부적 임시포트 받아씀
String msg = "안녕 UDP로 데이터를 보내는거야";
byte[] buf = msg.getBytes();
DatagramPacket packet = new DatagramPacket(buf,buf.length,ip,5000);
socket.send(packet);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
SVN(subversion) : 프로젝트 협업 관리 도구
' IOT 기반 응용 SW과정 > Java, Eclipse ' 카테고리의 다른 글
Day23 TCP (0) | 2016.04.18 |
---|---|
Day22 TCP (0) | 2016.04.12 |
Day20 입출력 (0) | 2016.04.08 |
Day19 스레드 (0) | 2016.04.07 |
Day18 예외처리 (0) | 2016.04.06 |