달력

1

« 2014/1 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
2014.01.14 09:13

[JAVA] 이메일전송 CODE/JAVA 활용2014.01.14 09:13

import java. util.Properties ;


import javax. mail.Authenticator ;

import javax. mail.Message ;

import javax. mail.MessagingException ;

import javax. mail.PasswordAuthentication ;

import javax. mail.Session ;

import javax. mail.Transport ;

import javax. mail.internet .InternetAddress;

import javax. mail.internet .MimeMessage;

import javax. mail.internet .MimeUtility;


public class Gmail extends Authenticator {

     public static void main(String [] args ) {

     //보내는 서버 주소

        String host = "smtp.gmail.com";

        //메일 제목 설정

        String subject = "메일제목 테스트입니다."

        //받는사람 이메일 주소

        String from = "USERID@gmail.com 주소"

        //보내는사람 이름

        String fromName = "홍길동" ; 

        //받는사람 이메일주소

        String to = "USERID@gmail.com 주소"

        try {

            Properties props = new Properties();

            props.put ("mail.smtp.starttls.enable""true");

            props.put ("mail.transport.protocol""smtp");

            props.put ("mail.smtp.host", host);

            props.setProperty ("mail.smtp.socketFactory.class",  "javax.net.ssl.SSLSocketFactory" );

            props.put ("mail.smtp.port""465");

            props.put ("mail.smtp.user", from);

            props.put ("mail.smtp.auth""true");


            //보내는사람의 STMP 로그인을 통한 Session 정보 취득

            Session mailSession = Session.getInstance (props,

                   new javax.mail. Authenticator() {

                       protected PasswordAuthentication getPasswordAuthentication () {

                           return new PasswordAuthentication("SMTP 계정아이디","SMTP 계정 비밀번호");

                       }

                   });

            Message msg = new MimeMessage(mailSession );

            msg.setFrom (new InternetAddress(from , MimeUtility.encodeText (

                   fromName, "UTF-8""B")));//


            //메일을 동시에 여러명을 보내고 싶을때는 배열로 이메일 주소를 작성한다.

            InternetAddress[] address1 = { new InternetAddress (to) };

            msg.setRecipients (Message. RecipientType.TO , address1);

            msg.setSubject (subject); //제목

            msg.setSentDate (new java.util.Date());//보내는날짜

           

            msg.setContent (getMailString(), "text/html;charset=euc-kr" ); //본문내용 보내기

            Transport.send (msg); //만들어진 이메일 전송실행


        } catch (MessagingException ex) {

         ex.printStackTrace();

        } catch (Exception e) {

         e.printStackTrace();

        }

     }

    

    /**

     * 본문내용 작성

     * @return string 내용

     */

     public static String getMailString(){

        StringBuffer sb = new StringBuffer();

        sb.append ("내용을 입력합니다.");

        sb.append ("내용을 입력합니다.");

        sb.append ("<br/> 내용을 입력합니다.");

        return sb .toString();

     }

}




Posted by 레이칸트
2014.01.10 15:10

CINEMA 4D 시작하며... 멀티미디어/CINEMA 4D2014.01.10 15:10

2014년 목표중에 하나가 멀티미디어 관련 툴을 2개 공부하자는 목표로 CINEMA 4D를 선택하여 시작하게 되었습니다.

처음 접하는 툴이라 걱정도 되지만 독학으로 어디까지 가능한가를 알아보고자 시작합니다.


프로그램 버전은 R15 버전으로 하였고, 한글판으로 설치하여 스터디를 하겠습니다.

기초부터 시작하여 초급탈출을 목표로 자세하게 내용을 다루도록 하겠습니다. 


[CINEMA 4D 실행화면]

'멀티미디어 > CINEMA 4D' 카테고리의 다른 글

CINEMA 4D 시작하며...  (0) 2014.01.10
Posted by 레이칸트


import java.awt.image.BufferedImage;

import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument;

import org.apache.pdfbox.util.PDFImageWriter;

public class Pdftoimg {

public static void main(String[] args) {

extractPagesAsImage("redpdf.pdf", 300, "");

}


/**

* PDF파일 이미지 출력

* @param sourceFile 대상 PDF파일 경로 및 파일

* @param resolution 출력 해상도

* @param password 문서 비밀번호

* @return

*/

public static boolean extractPagesAsImage(String sourceFile, int resolution, String password) {

boolean result = false;

//출력이미지 확장자

String imageFormat = "gif";

int pdfPageCn = 0;

PDDocument pdfDoc = null;

try {

//PDF파일 정보 취득

pdfDoc = PDDocument.load(sourceFile);

//PDF파일 총페이지 수 취득

pdfPageCn = pdfDoc.getNumberOfPages();

System.out.println("PDF파일 총페이지 수 : " + pdfPageCn);

} catch (IOException ioe) {

System.out.println("PDF 정보취득 실패 : " + ioe.getMessage());

}

PDFImageWriter imageWriter = new PDFImageWriter();

try {

result = imageWriter.writeImage(pdfDoc, 

imageFormat, 

password,

1, //이미지 출력 시작페이지

5, //이미지 출력 종료페이지

//저장파일위치 및 파일명 지정 TEST+페이지 "TEST1.gif" 파일저장

"TEST"

 BufferedImage.TYPE_INT_RGB,

resolution //이미지 품질  300 추천

);

} catch (IOException ioe) {

System.out.println("PDF 이미지저장 실패 : " + ioe.getMessage());

}

return result;

}

}


 & 실행화면


Posted by 레이칸트


import java.io.FileOutputStream;


import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;


/* xlsx 파일 출력시 선언

import org.apache.poi.xssf.usermodel.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFRow;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

*/

public class XlsxWrite {

static HSSFRow row;

static HSSFCell cell;

/* xlsx 파일 출력시 선언

static XSSFRow row;

static XSSFCell cell;

*/

public static void main(String[] args){

HSSFWorkbook workbook = new HSSFWorkbook();

//Sheet명 설정

HSSFSheet sheet = workbook.createSheet("mySheet");

/* xlsx 파일 출력시 선언

XSSFWorkbook workbook = new XSSFWorkbook();

XSSFSheet sheet = workbook.createSheet("mySheet");

*/



//출력 row 생성

row = sheet.createRow(0);

//출력 cell 생성

row.createCell(0).setCellValue("DATA 11");

row.createCell(1).setCellValue("DATA 12");

row.createCell(2).setCellValue("DATA 13");


//출력 row 생성

row = sheet.createRow(1);

//출력 cell 생성

row.createCell(0).setCellValue("DATA 21");

row.createCell(1).setCellValue("DATA 22");

row.createCell(2).setCellValue("DATA 23");


row = sheet.createRow(2);

//출력 cell 생성

row.createCell(0).setCellValue("DATA 31");

row.createCell(1).setCellValue("DATA 32");

row.createCell(2).setCellValue("DATA 33");


// 출력 파일 위치및 파일명 설정

FileOutputStream outFile;

try {

outFile = new FileOutputStream("XlsWrite.xls");

workbook.write(outFile);

outFile.close();

System.out.println("파일생성 완료");

} catch (Exception e) {

e.printStackTrace();

}

}

}


 & 실행화면


Posted by 레이칸트




import java.io.FileInputStream;


import org.apache.poi.xssf.usermodel.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFRow;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;


public class XlsxRead {

public static void main(String[] args) {

XSSFRow row;

XSSFCell cell;


try {

FileInputStream inputStream = new FileInputStream("XlsxRead.xlsx");

XSSFWorkbook workbook = new XSSFWorkbook(inputStream);


//sheet수 취득

int sheetCn = workbook.getNumberOfSheets();

System.out.println("sheet수 : " + sheetCn);

for(int cn = 0; cn < sheetCn; cn++){

System.out.println("취득하는 sheet 이름 : " + workbook.getSheetName(cn));

System.out.println(workbook.getSheetName(cn) + " sheet 데이터 취득 시작");

//0번째 sheet 정보 취득

XSSFSheet sheet = workbook.getSheetAt(cn);

//취득된 sheet에서 rows수 취득

int rows = sheet.getPhysicalNumberOfRows();

System.out.println(workbook.getSheetName(cn) + " sheet의 row수 : " + rows);

//취득된 row에서 취득대상 cell수 취득

int cells = sheet.getRow(cn).getPhysicalNumberOfCells(); //

System.out.println(workbook.getSheetName(cn) + " sheet의 row에 취득대상 cell수 : " + cells);

for (int r = 0; r < rows; r++) {

row = sheet.getRow(r); // row 가져오기

if (row != null) {

for (int c = 0; c < cells; c++) {

cell = row.getCell(c);

if (cell != null) {

String value = null;

switch (cell.getCellType()) {

case XSSFCell.CELL_TYPE_FORMULA:

value = cell.getCellFormula();

break;

case XSSFCell.CELL_TYPE_NUMERIC:

value = "" + cell.getNumericCellValue();

break;

case XSSFCell.CELL_TYPE_STRING:

value = "" + cell.getStringCellValue();

break;

case XSSFCell.CELL_TYPE_BLANK:

value = "[null 아닌 공백]";

break;

case XSSFCell.CELL_TYPE_ERROR:

value = "" + cell.getErrorCellValue();

break;

default:

}

System.out.print(value + "\t");

} else {

System.out.print("[null]\t");

}

} // for(c) 문

System.out.print("\n");

}

} // for(r) 문

}

} catch (Exception e) {

e.printStackTrace();

}

}

}


 & 실행화면


Posted by 레이칸트




import java.io.FileInputStream;


import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.poifs.filesystem.POIFSFileSystem;


public class XlsRead {

public static void main(String[] args) {

HSSFRow row;

HSSFCell cell;


try {

FileInputStream inputStream = new FileInputStream("XlsRead.xls");

POIFSFileSystem fileSystem = new POIFSFileSystem(inputStream);

HSSFWorkbook workbook = new HSSFWorkbook(fileSystem);

//sheet수 취득

int sheetCn = workbook.getNumberOfSheets();

System.out.println("sheet수 : " + sheetCn);

for(int cn = 0; cn < sheetCn; cn++){

System.out.println("취득하는 sheet 이름 : " + workbook.getSheetName(cn));

System.out.println(workbook.getSheetName(cn) + " sheet 데이터 취득 시작");

//cn번째 sheet 정보 취득

HSSFSheet sheet = workbook.getSheetAt(cn);

//취득된 sheet에서 rows수 취득

int rows = sheet.getPhysicalNumberOfRows();

System.out.println(workbook.getSheetName(cn) + " sheet의 row수 : " + rows);

//취득된 row에서 취득대상 cell수 취득

int cells = sheet.getRow(cn).getPhysicalNumberOfCells(); //

System.out.println(workbook.getSheetName(cn) + " sheet의 row에 취득대상 cell수 : " + cells);

for (int r = 0; r < rows; r++) {

row = sheet.getRow(r);

if (row != null) {

for (int c = 0; c < cells; c++) {

cell = row.getCell(c);

if (cell != null) {

String value = null;

switch (cell.getCellType()) {

case HSSFCell.CELL_TYPE_FORMULA:

value = cell.getCellFormula();

break;

case HSSFCell.CELL_TYPE_NUMERIC:

value = "" + cell.getNumericCellValue();

break;

case HSSFCell.CELL_TYPE_STRING:

value = "" + cell.getStringCellValue();

break;

case HSSFCell.CELL_TYPE_BLANK:

value = "" + cell.getBooleanCellValue();

break;

case HSSFCell.CELL_TYPE_ERROR:

value = "" + cell.getErrorCellValue();

break;

default:

value = "[type?]";

break;

}

System.out.print(value + "\t");

} else {

System.out.print("[null]\t");

} // if

} // for(c)

System.out.print("\n");

} // if

} // for(r)

System.out.println(workbook.getSheetName(cn) + " sheet 데이터 취득 종료");

}// for(cn)

} catch (Exception e) {

e.printStackTrace();

}

}

}


 & 실행화면


Posted by 레이칸트

자바를 이용한 이미지로 바코드 출력 소스로, 사용자가 원하는 이미지 TYPE과 SIZE를 정의 출력하여, PDF출력이나 엑셀출력시 클래스를 불러와 라벨작업에 활용가능하다.


import java.io.File;

import java.io.FileOutputStream;


import com.google.zxing.BarcodeFormat;

import com.google.zxing.client.j2se.MatrixToImageWriter;

import com.google.zxing.common.BitMatrix;

//import com.google.zxing.oned.Code39Writer;

import com.google.zxing.qrcode.QRCodeWriter;


public class Qrcode {

public static void main(String[] args) {

QRCodeWriter q = new QRCodeWriter();

//Code39Writer q = new Code39Writer();

try {

String text = "http://neosm.com";

text = new String(text.getBytes("UTF-8"), "ISO-8859-1");

BitMatrix bitMatrix = q.encode(text, BarcodeFormat.QR_CODE,200,200);

MatrixToImageWriter.writeToStream(bitMatrix, "png",

new FileOutputStream(new File("neosm.png")));

} catch (Exception e) {

e.printStackTrace();

}

}

}



 ::: 필요 JAR 파일


javase.jar

zxing-core-2.2.jar



 ::: 실행결과

 




Posted by 레이칸트

import java.util.*;

public class CalendarAfAndBfMain

{

public static void main(String[] args) 

{

CalendarAfAndBf cal=new CalendarAfAndBf();

//setDate의 주석을 풀자

Date d=cal.setDate(2013, 8,31);

System.out.println("기준날 :"+d.toString());

System.out.println("다음날 :"+cal.afterOneDay(d));

System.out.println("기준날 :"+cal.beforOneDay(d));

}

}


class CalendarAfAndBf {

/**

* 입력한 다음날을 구한다.

* @param d 입력 다음 날을 출력하기 위한 입력 날

* @return 하루 후를 출력

*/

public Date afterOneDay(Date d){

//d 기준날짜를 입력한다.

long dd=d.getTime();

//밀리세컨드*60초*60분*24시간==하루

return new Date(dd+1000*60*60*24);

}

/**

* 입력한 전날을 구한다.

* @param d 입력 전날을 출력하기 위한 입력 날

* @return 하루 전을 출력

*/

public Date beforOneDay(Date d){

//d 기준날짜를 입력한다.

long dd=d.getTime();

//밀리세컨드*60초*60분*24시간==하루

return new Date(dd-1000*60*60*24);

}

/**

* 년, 월, 일을 입력해서 <code>java.util.Date<code>로 리턴한다.

* @param year 년

* @param month 월

* @param day 일

* @return 입력한 날을 <code>java.util.Date<code>로 리턴한다.

*/

public Date setDate(int year,int month,int day){

Calendar cal=Calendar.getInstance();

cal.set(year,month-1,day);  //0~11까지 존재하기 때문에 -1

return new Date(cal.getTimeInMillis());

}

}

Posted by 레이칸트
2014.01.09 15:02

[JAVA] Ex003 솟수 판단 소스 CODE/JAVA 기초2014.01.09 15:02

public class HelloCommentMain {

public static void main(String[] args) {

HelloComment hc = new HelloComment();

System.out.printf("2343251은 솟수일까? %b%n", hc.isPri(2343251));

}

}

class HelloComment {

public boolean isPri(int a) {

boolean isP = true;

int b = (int) Math.sqrt(a);

for (int i = 2; i <= b; i++) {

if (a % i == 0) {

isP = false;

break;

} else{

isP = true;

}

}

return isP;

}

}


Posted by 레이칸트



public class IfLeapYear {

public static void main(String[] args) {

for (int year = 1998; year < 2020; year++) {

boolean yearTF = false;

if ((0 == (year % 4) && 0 != (year % 100)) || 0 == year % 400) {

yearTF = true;

} else {

yearTF = false;

}


if (yearTF) {

// System.out.println(year+"는 윤년입니다. ");

System.out.printf("%d는 윤년입니다.%n", year);

} else {

// System.out.println(year+"는 윤년이 아닙니다.");

System.out.printf("%d는 윤년이 아닙니다.%n", year);

}

}

}

}




Posted by 레이칸트