안녕하세요 박스여우입니다.이번에는 Java의 Socket를 이용해서 파일을 전송하여 복사하는방법에대해 알아보겠습니다.※주의※이 글의 예제는 입문 수준의 코드이므로 모범적이지 못한 예제입니다.단순히 파일을 읽고 소켓통신을 하는 방법에 대해서만 참고하는 목적으로 읽어주시길 바랍니다! Client 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.OutputStream;import java.net.Socke..
안녕하세요 박스여우입니다. 이번에는 FileWriter를 이용하여 File에 이어쓰기를 하는방법을 알아봅시다. 1 2 File f = new File("주소"); FileWriter fw = new FileWriter(f, true); cs 위를 살펴보면, File을 지정된 주소에 새롭게 생성한뒤, 파일 f를 수정하는 FileWriter을 생성, 뒤에 true는 이어쓰기 모드입니다. 만약 이어쓰기를 하지 않으려면, FileWriter fw = new FileWriter(f);만 작성하시면 됩니다. 그 뒤에, 1 fw.write("수정할 글 int,string등"); cs 을 통해 파일을 수정하시면 됩니다. 그런데,위의 영상에서 보시면 아시겠지만 FileWriter를 사용할땐 flush()를 사용하셔야합니..
안녕하세요 박스여우입니다.이번에는 Java의 Swing/awt JTestArea에 이미지를 삽입,뿌리기를 해보겠습니다. 텅비고 휜바탕에 밋밋한 Java의 gui 가 싫으시면?paintComponet의 Graphics를 사용하면 이미지를 삽입하여 멋진 gui를 제작하실수 있습니다! java는 png,jpeg,gif등을 지원해주어 다양한 이미지파일이 삽입가능하지만,만약 영상파일이나 추가적인 미디어 파일들을 삽입하고 싶으시다면, JMF를 통해 구현이 가능합니다. 동작되는 영상과 코딩과정입니다. 아래는 소스입니다.이미지 파일은 이미지가 담겨있는 주소와, 이미지파일의이름,그리고 형태까지 모두 작성해야 합니다.ex)C:\\Users\\user\\Desktop\\proLan\\filegate\\img2.gif참! ..
안녕하세요 박스여우입니다. 이번에는 Socket - 소켓을 이용해 간단한 서버와 클라이언트간의 통신을 해보도록 하겠습니다. 우선, Socket-소켓 이란? 소켓은 TCP/IP 소켓 프로그래밍의 소켓입니다. 그럼 우선 TCP/IP라는 놈에대해서 알아봐야 겠네요 TCP/IP는 통신규약으로 네트워크로 연결되있는 두개 이상의 호스트간의 데이터 전송을 위해 프로그래밍 한것이 TCP/IP 소켓프로그래밍 입니다. 그럼 소켓이란? 네트워크 간의 연결을 시켜주는 매계체 역할을 하고, 네트워크 연결도구로 운영체제에서 제공되는 소프트웨어 장치입니다. 그럼 이제 소켓을 이용한 간단한 통신을 해봅시다. Server 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ..
JMF란? Java Media Framework의 약자로 Java 내에서 지원해주는 기초 미디어는 gif,png,오디오만 지원하는 등 기초적으로 빈약하기 때문에 더 많은것을 지원해 주기위해 새롭게 만들어준 API입니다. JMF API를 사용하면 동영상,웹캠등을 사용한 프로그램 개발도 가능해집니다. 우선 http://www.oracle.com/technetwork/java/javase/download-142937.html 에 접속하시면 아래와 같은 창이 뜹니다. 다운로드를 클릭하신뒤, 아래 사진의 창으로 이동하여 Accept License Agreement 를 체크하신뒤 가장 밑에있는 Windows Performance Pack 을 다운받은뒤 설치하시면 됩니다. 이제 프로젝트에 다운받은 JMF를 적용시켜 ..
다음과 같이 출력하는 알고리즘을 작성해보세요 #pragma warning(disable : 4996) #include int main(){ int input; scanf(" %d", &input); int arr[100][100] = { 0, }; int print = 1; //저장될 변수 int t = 0, l = 0; //t는 세로, l은 가로 while (1){ int checkt = t; //임시 세로 int checkl = l; //임시 가로 while (1){ arr[checkt][checkl] = print; print++; if (checkt==0){ break; } else if (checkl == input - 1){ break; } checkt--; checkl++; } if (t =..
다음과 같이 출력되는 알고리즘을 작성해 보세요 #pragma warning(disable : 4996) #include int main(){ int input; scanf(" %d", &input); //출력할 사이즈를 입력받는다. int print = 1; int t=0, l=0; //t = 세로, l = 가로 int check = input,checks=0; //check = 배열의 최대값, checks = 배열의 최소값 int arr[100][100] = { 0, }; for (int i = 0; i < input; i++){ //input 회수만큼 for문을 돌린다. for (; l < check;l++){ //맨 윗줄 가로열 저장 arr[t][l] = print; print++; } l--; /..
TextArea를 Scrollpane에 사용하여 채팅 프로그램을 사용하던중, 채팅이 업데이트 될때마다 스크롤이 위로 올라가서 보기 불편한점을 개선할방법을 알아냈습니다. swing scrollpane 휠 자동다운 마우스 휠을 굴릴때는 스크롤바가 움직이는 것을 허용한다 scrollPane.addMouseWheelListener(new MouseWheelListener() { public void mouseWheelMoved(MouseWheelEvent arg0) { scrollpanemove=true; } }); 스크롤 판넬의 세롯크롤 바의 수정이벤트 리스너를 추가한다 scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener..
Java 네트워킹 메인 메소드 선언부에 throw Exception 예외처리 던지기 메소드의 모든부분에서 오류를 잡아낸다. ServerSocket soc = new ServerSocket(포트); while(true){ //서버작동 Socket client = server.accept(); //클라이언트의 접속 수락, client에 정보저장 System.out.println(“IP”+client.getInetAddress()); //클라이언트의 아이피 가져온다 OutputStream os = client.getOutputStream(); //출력스트림 생성 DataOutputStream dos = new DataOutputStream(os); //데이터 출력스트림생성, 출력스트림과 연결 dos.write..
안드로이드 네트워킹을위한 퍼미션과 설정 – Manifast에 삽입 ‘’ -onCreate에 삽입 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog().build()); 안드로이드의 메인쓰레드는 사용자의 입력을 담당하므로 네트워크통신이나 루프처리등에 이용할 경우 운이나쁘면 앱이 멈춘다. 그래서 네트워크통신,루프처리등은 별도의 쓰레드를 생성하여 사용해야한다. 쓰레드를 추가하여 네트워킹을 하는 것을 추천 안드로이드 파일 입출력 파일 입출력을 가능하게 하는 퍼미션 String str_Path = Environment.getEx..