목록파일 (7)
삶 가운데 남긴 기록 AACII.TISTORY.COM
자바로 파일을 다루다 보면 파일 이름으로 금지된 문자들을 걸러낼 필요가 있습니다. 그래서 만들어 봤습니다. 제가 쓰려고요. //파일명으로 금지된 문자들을 검사 public static boolean isContainsForbiddenChar(String input) { // 금지된 문자들 배열 char[] forbiddenChars = { '/', '\\', '*', '"', '', '|' }; // 입력 문자열에 금지된 문자가 포함되어 있는지 검사 for (char forbiddenChar : forbiddenChars) { if (input.contains(String.valueOf(forbiddenChar))) { return true; } } // 금지된 문자가 없는 경우 return false;..
자바 application에서 파일을 저장할 때 절대경로는 보통 사용하지 않고 상대경로를 사용합니다. System.property("user.dir")을 통해 현재 application이 실행되는 작업 디렉토리를 얻고 그 기반으로 생성되는 파일의 경로를 지정합니다. File.separator는 파일 경로를 생성 할 때 운영체제에 맞는 파일의 구분자를 자동으로 선택해 줍니다. public class DynamicFilePathExample { public static void main(String[] args) { // 현재 작업 디렉토리 확인 String currentDir = System.getProperty("user.dir"); // 파일 저장 경로 설정 (현재 작업 디렉토리 내의 example.t..
자바로 텍스트 파일을 생성해서 자장할 때 FileWriter(arg1, arg2) 메서드의 arg2 두번째 인수가 false냐 true냐에 따라 기존 파일을 overwrite할지 append 할지 결정 할 수있습니다. import java.io.FileWriter; import java.io.IOException; public class FileWriterExample { public static void main(String[] args) { // 파일 경로 및 파일명 설정(윈도우 기준) String filePath = "C:/예제 파일이름.txt"; try { // FileWriter 객체 생성 //두 번째 매개변수로 false를 전달하면 기존 파일이 있으면 내용을 덮어씀(overwrite) //tr..
Unrestricted Upload of File with Dangerous Type(위험한 형식 파일 업로드) 서버측에서 실행할 수 있는 파일(asp, jsp, php 등) 이 업로드 가능할 때, 이 파일을 이용해 시스템 내부 명령어를 실행하여 공격하는 방법입니다. 업로드하는 파일의 유효성 검사로 방어합니다. white list 확장자만 업로드 합니다. 업로드 디렉토리를 웹서버의 다큐먼트 외부에 설정합니다. 파일 실행 권한을 설정할 수 있는 경우 실행 권한을 제거합니다. 안전한 코드의 예 ... public void upload(HttpServletRequest request) throws SevletException{ MultipartHttpServletRequest mRequest = (Multip..
File 클래스 import java.io.File; import java.net.URI; import java.text.SimpleDateFormat; import java.util.Date; public class FileEx { public static void main(String[] args) throws Exception { File dir = new File("D:/temp/Dir"); File file1 = new File("D:/temp/file1.txt"); File file2 = new File("D:/temp/file2.txt"); File file3 = new File(new URI("file:///D:/temp/file3.txt")); if(dir.exists() == false..
리눅스 개발서버에서 MySQL 5.X 사용중에 디스크 용량 부족 메시지가 나오길래 우선 디스크 용량을 조사해 보았습니다. df -h 과연 루트 파티션의 용량이 꽉차 있었습니다. 그래서... 원인을 찾기 위해 좀더 조사해보았습니다. du -h 여러분의 실제 경로는 다를 수 있습니다만 /var/lib/mysql/ibtmp1 용량을 잡아먹던 범인은 바로 이 ibtmp1 파일이었습니다. 무한정 커지고 있더군요. 문제 해결은 단순히 MySQL를 재시작하는 것이었습니다. 리눅스 콘솔에서 아래와 같이 재시작 합니다. systemctl restart mysqld MySQL Temporary Tablespace 사용자가 생성한 임시 테이블들이 shared temporary tablespace 에 생성됩니다. 아무것도 설..
BLOB(Binary Large Object) Blob 생성자 var blob = new Blob(source, {type: contentType}); 여기서 source는 버퍼 배열이고 contentType은 MIME 타입입니다. String 타입은 UTF-8 바이너리로 변환됩니다. //문자열 Blob var blob = new Blob(["JavaScript"], {type: "text/plain"}); console.log(blob.size, blob.type); //10 "text/plain" //형식화 배열 blob var a = new UintBArray([0,1,2,3]); var blob = new Blob(a, {type: "application/octet-stream"}); consol..