java의 파일 클래스는 파일이나 폴더에 대해서 조작을 수행할 수 있습니다. 당연하게도, 폴더 내에 있는 파일들도 조회가 가능합니다. 이번 시간에는 특정 폴더 내에 있는 파일을 순회하는 방법을 알아보도록 하겠습니다. 먼저 File 객체에 무슨 메서드가 있는지 보겠습니다. listFiles와, isDirectory가 눈에 보입니다. 우리가 필요한 것은 폴더 내에 있는 하위 폴더, 파일들을 모두 탐색하는 것입니다. 그렇다면, 탐색하고 있는 파일 객체가 디렉토리인지, 그냥 파일인지 판단을 해야 합니다. 만약에 디렉토리라면, 그 안에는 파일들이 있을 것이니, 파일 목록들을 불러와야 합니다. 이것을 위해 필요한 메서드는 listFiles입니다. 만약에 해당 파일 객체가 디렉토리가 아니라면 null을 리턴합니다. ..
레퍼런스/예제 검색 결과
카톡방에서 이야기를 하다가, 파이선은 '각'을 유니코드 포인트를 나타내는 정수로 쉽게 변환할 수 있단 걸 알게 되었습니다. 그것을 토대로 규칙을 찾아서 분리한다. 괜찮은 방법입니다. 일단 문자를 문자 번호로 변환하는 것부터 해야 겠는데요. 이럴 때 쓸 수 있는 것은 ord 함수입니다. ord 함수는 유니코드 문자가 하나 주어지면, 그것을 코드 포인트로 바꾸는 함수입니다. 다음을 수행해 보겠습니다. Cpython 3.x대에서 수행하였습니다. 44032가 나옵니다. '가'의 유니코드 포인트는 AC00입니다. 그리고 결과값으로 나온 44032를 2진수로 변환해서 HEX 값으로 보면 AC00임을 알 수 있습니다. 그러면, '각'과 '값' 등은 어떤 값으로 할당이 되어 있을까요? 이 문서를 보시면, 사전순으로 코..
python에서 string에 append를 할 때, list에 append를 하고, join 메서드를 쓰곤 합니다. (전 귀찮아서 +=을 쓰곤 했습니다.) 간단하게 알아보겠습니다. 이 문서를 보시면 다음과 같이 정의가 되어 있습니다. iterable. 이는 반복될 수 있는 이라는 뜻을 가집니다. 그런데, 사실 이 블로그에서도 몇 번 이야기를 했습니다. 이터레이터. c++ STL 하면서 몇 번 언급을 했는데요. 순회 가능한 무언가라고 보시면 됩니다. 파이선에서는 dict, set, list와 같은 것들이 있습니다. 그러면 앞에 붙는 문자열이 어떤 역할을 하는지 보겠습니다. list li에 'A', 'B', 'C', 'D'가 있습니다. 2번째 줄에 '#'.join(li)가 있습니다. 결과값을 봅시다. A#..
처음 백준을 하시다 보면, 출력하실 때, 개행을 출력하기 위해서 endl을 많이 쓰는 실수를 합니다. 이게 어떤 문제가 있는지 공식 문서를 하나 하나 해석해 보면서 알아보겠습니다. 먼저 링크를 보시면 아래 문구가 눈에 보입니다. 개행을 stream에 insert를 한 다음에, stream을 flush 한다고 해석할 수 있습니다. 그러면, 이게 얼마나 시간을 많이 먹는 작업일까요? 간단하게 테스트 프로그램을 하나 만들어 보겠습니다. 123이라는 문자열을 2000만번 출력하는 프로그램입니다. 그리고, 이 작업을 하기 전에 시간을, 한 후에 시간을 출력함을 알 수 있는데요. 간단하게 시간을 측정하기 위해서, 이 방법도 나름 쓸만합니다. 저는 ex를 실행시켜서 출력된 결과를 1.txt에 넣겠습니다. 그리고, 1..
요새 jsch를 유튜브 보면서 공부하고, 샘플 프로그램을 작성하고 있습니다. 유튜브에서, java의 properties 클래스를 이용해서 셋팅값을 넣는 것을 보았습니다. put 함수를 넣으니까 새삼 편하구나. 이렇게 느꼈습니다. 그러다가 문득, 이런 생각을 하게 되었습니다. Jdbc에서, 데이터베이스에 접근하기 위해서는, connection을 생성해야 합니다. 위 프로그램에서는 getConn 메서드가 그러한 역할을 수행합니다. getConn 내부를 보겠습니다. Connection을 얻기 위해서, 3개의 정보를 넘겨줍니다. 접속할 주소, 유저 이름, 패스워드. 이렇게 3개입니다. 그런데, 이것을 java 파일 내에 하드코딩을 하고 있습니다. 이 방법은 그렇게 좋아보이지는 않습니다. 파일로 저장하고, 그 파..
최근댓글