728x90
반응형

IO 5

Java에서 파일의 파일 확장자를 얻는 방법

질문 : Java에서 파일의 파일 확장자를 어떻게 얻습니까? 분명히 말하면 MIME 유형을 찾고 있지 않습니다. 다음 입력이 있다고 가정 해 보겠습니다. /path/to/file/foo.txt 이 입력, 특히 확장에 대한 .txt 로 나누는 방법을 원합니다. Java에서 이것을 수행하는 방법이 있습니까? 내 자신의 파서를 작성하는 것을 피하고 싶습니다. 답변 이 경우 Apache Commons IO의 FilenameUtils.getExtension 을 사용하십시오. 다음은 사용 방법의 예입니다 (전체 경로 또는 파일 이름 만 지정할 수 있음). import org.apache.commons.io.FilenameUtils; // ... String ext1 = FilenameUtils.getExtensio..

Java에서 InputStream을 String으로 변환하는 가장 쉬운 방법

질문 : Java에서 InputStream을 어떻게 읽고 String으로 변환합니까? java.io.InputStream 객체가있는 경우 해당 객체를 어떻게 처리하고 String 생성해야합니까? 텍스트 데이터를 포함하는 InputStream String 으로 변환하고 싶다고 가정합니다. 예를 들어이를 로그 파일에 쓸 수 있습니다. InputStream String 변환하는 가장 쉬운 방법은 무엇입니까? public String convertStreamToString(InputStream is) { // ??? } 답변 이를위한 좋은 방법은 Apache commons IOUtils InputStream 을 StringWriter 에 복사하는 것입니다. StringWriter writer = new Stri..

Python의 subprocess.PIPE에 대한 비 차단 읽기

질문 : Python의 subprocess.PIPE에 대한 비 차단 읽기 하위 프로세스 모듈 을 사용하여 하위 프로세스를 시작하고 해당 출력 스트림 (표준 출력)에 연결합니다. 표준 출력에서 비 차단 읽기를 실행할 수 있기를 원합니다. .readline 호출하기 전에 스트림에 데이터가 있는지 확인하는 방법이 있습니까? 나는 이것이 이식 가능하거나 적어도 Windows 및 Linux에서 작동하기를 바랍니다. 다음은 지금 수행하는 방법입니다 (사용 가능한 데이터가없는 경우 .readline p = subprocess.Popen('myprogram.exe', stdout = subprocess.PIPE) output_str = p.stdout.readline() 답변 fcntl , select , asyncp..

Java에서 폴더의 모든 파일을 읽는 방법

질문 : Java에서 폴더의 모든 파일을 읽는 방법은 무엇입니까? Java를 통해 폴더의 모든 파일을 읽는 방법은 무엇입니까? 답변 public void listFilesForFolder(final File folder) { for (final File fileEntry : folder.listFiles()) { if (fileEntry.isDirectory()) { listFilesForFolder(fileEntry); } else { System.out.println(fileEntry.getName()); } } } final File folder = new File("/home/you/Desktop"); listFilesForFolder(folder); Files.walk API는 Java 8에서 ..

Java를 사용하여 줄 단위로 큰 텍스트 파일을 읽는 방법

질문 : Java를 사용하여 줄 단위로 큰 텍스트 파일을 어떻게 읽을 수 있습니까? Java를 사용하여 줄 단위로 약 5-6GB의 큰 텍스트 파일을 읽어야합니다. 어떻게 빨리 할 수 있습니까? 답변 일반적인 패턴은 try (BufferedReader br = new BufferedReader(new FileReader(file))) { String line; while ((line = br.readLine()) != null) { // process the line. } } 문자 인코딩이 없다고 가정하면 데이터를 더 빨리 읽을 수 있습니다. 예를 들어 ASCII-7이지만 큰 차이는 없습니다. 데이터로 수행하는 작업이 훨씬 더 오래 걸릴 가능성이 높습니다. line 누출 범위를 피하는 덜 일반적인 패턴입니..

728x90
반응형