본문 바로가기

개발 이야기/자바9

[JAVA] 자바 scanf 사용하기 안녕하세요 마블랑입니다. 자바를 처음 배울때 C와는 다르게 scanf처럼 값을 입력받는 기능을 사용할수 없어서 실습할때 구현할수 있는것이 한정적이었던것이 기억나는군요. 프로그래밍 언어는 실습하면서 배우는것을 좋아해서 작은 프로그램이라도 만들어보고 싶었는데 그것을 할수없었죠.. 마블랑같은 분들이 있을거 같아 자바에서도 scanf 기능이 제공되는것을 포스팅 하였습니다. 아래 화면처럼 녹색으로 표시되는 값이 사용자가 입력한 값입니다. 그리고 검은색으로 표시되는것은 println으로 입력받은 문자열을 표시해주는 것이죠 그리고 역시 "exit"를 입력을 하면 프로그램이 종료되게 해두었습니다. 자바에서 사용자 값을 입력받는 것은 두가지 방법이 있습니다. 하나는 BufferedReader 객체를 생성해서 InputS.. 2019. 7. 5.
[JAVA] TCP소켓통신 echo 서버 안녕하세요 마블랑입니다. 자바에서 활용가능한 TCP 소켓통신을 구현하였습니다. 이전에 포스팅했던 C와 C#과 같은 기능을 하는 샘플프로그램이지만 자바로 구현을 했습니다. 샘플 프로그램을 먼저 살펴보겠습니다. 다른 에코서버와 마찬가지로 클라이언트에서 데이터를 입력하면 서버는 데이터를 표시하고 데이터를 다시 리턴하여 줍니다. 그리고 종료를 원하면 exit를 입력하면 됩니다. 다음은 샘플코드를 살펴보겠습니다. 1. Server package mainPac; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Server.. 2019. 7. 3.
[JAVA] Eclipse에서 실행파일 만들기 (.JAR) 안녕하세요 마블랑입니다. C와 자바의 차이라고 하면 C는 컴파일 언어고 자바는 인터프리터 언어인것을 많이 들어보셨을 겁니다. 자바가 인터프리터 언어라서 그런지 실행파일이 따로 없고 코드만 있으면 실행이 되는데요. 그렇다고 실행파일을 만들수 없는 것은 아닙니다. 이클립스의 기능을 통해서 자바도 실행파일을 만들수 있는데 그 방법에 대해서 알아보겠습니다. 실행파일을 만들 프로젝트를 클릭하고 우클릭을 합니다. 그리고 Export 라는 항목을 선택하여 주세요. Export를 클릭하면 아래와 같은 화면이 나오는데 JAVA 클릭한 다음에 JAR file을 선택하시고 Next를 눌러주세요 (Runnable JAR file을 선택하면 좀더 빠르게 실행파일을 만들수 있지만 이번 포스팅은 JAR file을 선택하는 방법으로.. 2019. 6. 25.
[JAVA] FileWriter 파일 쓰기 안녕하세요 마블랑입니다. 프로그램으로 파일을 다루는것은 거의 기본이라 대부분의 프로그래밍 언어는 기본적으로 파일 입출력 기능을 하는 함수나 클래스를 제공합니다. 자바도 마찬가지 인데요 자바에서 파일 입출력을 제공하는 클래스는 정말 수도 없이 많더군요. 그리고 그것을 응용하여 어떻게 파일을 입출력할건지에 대한 방법도 여러가지 입니다. 원하는 기능과 각각의 장단점을 고려하여 알맞은 방법을 선택하면 되기는 하나 마블랑이 원하는 방법은 간단하고 제 기능이 되는 방법입니다. 그렇게 해서 찾은 방법이 바로 FileWriter 클래스를 이용하는 방법인데요 .. 안타깝게도 FileWriter는 파일에 쓰는 기능, 즉 입력 기능 밖에 없는 것 같습니다. 코드를 살펴보겠습니다. FileWriter 객체를 생성할때 첫번째 .. 2019. 6. 25.
[JAVA] ArrayList와 LinkedList를 통해 가변 배열 구현 안녕하세요 마블랑입니다. 프로그래밍에서는 기본적으로 사용할수 있는 배열은 처음 길이를 선언하고 사용하는 고정길이 배열입니다. 그래서 JAVA에서 길이가 변하는 동적배열을 이용하고 싶을때는 List라는 것을 사용합니다. List를 사용하여 원하는 만큼 데이터를 삽입하고 꺼내서 사용할수 있습니다. 자바에서 사용하는 List는 ArrayList와 LinkedList가 있습니다. 바로 샘플 코드로 알아보겠습니다. 1. ArrayList package MainPac; import java.util.ArrayList; import java.util.LinkedList; public class Main { public static void main(String[] args) { // TODO Auto-generate.. 2019. 6. 23.
[JAVA, Android] StringBuilder를 이용하여 Byte를 Hex로 표시하기 안녕하세요 마블랑입니다. 마블랑은 가끔 주 업무와는 별도로 안드로이드 개발을 할때가 있습니다. 안드로이드는 가끔 강의할때 들은거 말고는 실무에서는 거의 해본적이 없어 많이 배우며 하고 있습니다. 그러다 가끔 에러가 발생할때 로우데이터를 보고 싶은데 어떻게 볼지몰라 애를 먹었죠.. 안드로이드는 로그를 찍으면 나오긴 하지만 보기 어려운 정수값으로 나와 많이 불편했습니다.(정수보다 Hex가 보기 편하다니 어느새 개발자가 다되었군요..) 그래서 자바에서 Byte의 값을 Hex로 볼수있는 방법에 대해서 알아봤습니다 많은 방법이 있었지만 다른 곳의 예제를 보니 모두 함수를 만들더군요 마블랑은 코드라인을 늘리기 싫어 다른방법으로 알아봤답니다. 바로 StringBuilder 라는 클래스를 이용하는 것인데요 다음과 같이.. 2018. 12. 7.
[JAVA, Android] String to Byte array, Byte array to String (문자열을 바이트배열로 바꾸기, 바이트 배열을 문자열로 바꾸기) 안녕하세요 마블랑입니다. 자바나 안드로이드에서 종종 문자열을 바이트 배열로 변환하거나 반대로 바이트 배열을 문자열로 변환해야할때가 있으실 겁니다. 그래서 이번에는 문자열과 바이트 배열의 변환에 대해서 알려드립니다. 방법이 아주 간단합니다. 1. 문자열에서 바이트 배열로 변환하기 (String to Byte array) String str="Mablang";byte[] byteArray=str.getBytes(); 2. 바이트 배열을 문자열로 변환하기 (Byte array to String) byte[] byteArray; //바이트 배열 String strError = byteArray.toString(); //잘못된 문자열 변환String strYes = new String(byteArray); 문자열.. 2018. 12. 4.
[JAVA, Android] Bitmap to byte array, Byte array to bitmap (비트맵을 바이트배열로 바꾸기, copypixelsfrombuffer, copypixelstobuffer) 안녕하세요 마블랑입니다. 프로그래밍을 하다보면 이미지를 전송하거나 데이터베이스에 저장을 하고싶은 경우가 종종 있습니다. 그럴 경우 이미지를 바이트 배열로 바꿔주면 되는데요 JAVA 또는 안드로이드에서 이미지를 바이트 배열로 바꿔주는 방법이 있습니다. 1. 비트맵을 바이트 배열로 바꾸기 (Bitmap to byte array) Bitmap bitmap; //비트맵 이미지 ByteBuffer buffer= ByteBuffer.Allocate(bitmap.ByteCount); //바이트 버퍼를 이미지 사이즈 만큼 선언bitmap.copyPixelsToBuffer(buffer);//비트맵의 픽셀을 버퍼에 저장byte[] byteArray = buffer.ToArray(); //바이트 버퍼를 바이트배열로 변환 2.. 2018. 12. 4.
[JAVA] JDK와 JRE, 그리고 JVM 안녕하세요 마블랑입니다. 이번 포스팅은 자바와 관련된 포스팅입니다. 요즘 프로그래밍 언어중에서 가장 핫 한 언어로 1등이 자바언어라고 인터넷에서 본 기억이 납니다. 마블랑도 자바를 주로 하진 않았지만 컴퓨터가 전공이라 강의를 들은적도 있고 안드로이드를 실제로 실무에서 사용한 적이 있는데요 아무래도 자바를 사용하려면 자바를 설치해야 되는건 당연한 거겠죠? 그런데 자바를 설치하려고 보니까 JDK와 JRE? 그리고 JVM? 강의를 듣지 않고 독학을 하시는 분들은 뭘 설치 해야할지 망설이실 것입니다. 이렇게 망설이는 분을 위해 어떠한 버전을 설치해야하고 JVM이라는 것이 무엇인지 정리하였습니다. 1. JDK Jdk는 Java Development Kit의 약자로 단어를 해석해보면 알수 있듯이 자바를 개발하기 위.. 2018. 11. 20.