본문 바로가기

java40

Java #4 [OutputStream] OutputStream 저번에 InputStream에 이어서 OutputStream에 대해서 알아보겠습니다. InputStream으로 파일을 읽어 들이거나 내가 만든 String 값을 파일로 저장하고 싶다면 어떻게 해야 할까요? 먼저 String을 읽어 들일 때 입니다. String message = "Message - Hello Mexico"; File out = new File(파일 경로); OutputStream outputStream = new FileOutStream(out); outputStream.write(message.getBytes()); 위에 FileOutputStream을 사용할 때는 파일을 생성하는 로직을 건너뛰고 바로 파일을 대입하더라도 파일이 생성 됩니다. 2020. 6. 30.
Java #3 [InputStream] InputStream Java에서 파일을 읽어 들일때 가장 기본으로 사용하는 표준 라이브러리 입니다. InputStream과 마찬가지로 표준 라이브러리인 FileInputStream이란 라이브러리나 ByteArrayInputStream등을 같이 사용하면 목적에 맞게 파일 혹은 데이터를 읽어 들일 수 있습니다. FileInputStream InputStream inputStream = new FileInputStream(파일); 위와 같은 내용들을 응용해서 파일을 읽는 예제를 만들어 보겠습니다. BuffredReader reader = new BuffredReader(new FileInputStream(파일)); String line ; StringBuilder sb = new StringBuilder().. 2020. 6. 29.
POI #1 [ POIFSFileSystem vs OPCPackage ] OLE와 OOXML 문서 표준 규격에 따르면 여러가지 문서들이 즐비해 있겠지만 가장 많은 비중을 차지하는 두가지 포맷에 (OLE와 OOXML) 관련하여 정리하겠습니다. POI에서 위에 명시된 두개의 파일 포맷을 읽어 들이기 위해서 사용하는 두가지 라이브러리가 있는데요. OLE (97~2003) - POIFSFileSystem OOXML - OPCPackage 크게 두개로 나뉘고 OLE의 Stream을 읽어 들인다와 OOXML 내부의 xml + 여러 파일을 읽어 들이는데 차이가 있습니다. 그러면 내부를 좀 더 살펴 보겠습니다. 두개 파일의 차이점이 확연히 들어납니다. 어떻게 보면 OLE 파일이 더 간단한것 같지만 위에서와 같이 하드디스크 용량을 따진다면 OOXML이 더 효율적일 것 입니다. 왼쪽에 나타나는.. 2020. 6. 29.
java #2 [HashMap, ConcurrentHashMap] 쓰레드에 더 유용하게 사용하는 자료구조 Dao 객체를 만들어서 사용하는게 더 나은 방법이 될 수도 있겠지만 자료구조를 잘 활용하는 것이 때로는 더 적은 리소스로 더 나은 성능을 만들수 있다고 믿습니다. 그중에서도 HashMap과 ConcurrentHashMap은 이름이 비슷하지만 사용시에 확연히 다른 모습을 보여줍니다. HashMap의 특징을 먼저 보겠습니다. null을 key 값으로 허용합니다. 중복을 허용하지 않습니다. 순서나 동기화를 보장하지 않습니다. ConcurrentHashMap의 특징을 보겠습니다. null을 허용하지 않습니다. 중복을 허용하지 않습니다. 순서는 보장하지 않지만 동기성은 보장합니다. 위와 같이 보았을때 스레드 상에서 ConcurrentHashMap을 사용하면 더 좋은 효과를 .. 2020. 6. 26.