Java 문자열에서 메모리에 파일 개체 만들기
저는 File을 인수로 받아들이는 함수를 가지고 있습니다.문자열 데이터를 함수에 전달하기 위해 새 파일(파일 시스템에 대한 쓰기 액세스 권한이 없음)을 작성/쓰기하고 싶지 않습니다.String 데이터는 파일에 존재하지 않으므로 파일에서 데이터를 읽을 수 없습니다.
Streams를 사용하여 File 객체에 "캐스팅"할 수 있습니까?
일반적으로 메서드가 파일을 수신할 때 스트림을 수신하는 다른 메서드가 근처에 있습니다.그렇지 않으면 API가 잘못 코딩된 것입니다.그렇지 않으면 대부분의 경우 권한이 부여된 임시 파일을 사용할 수 있습니다.애플릿일 경우 쓰기 권한을 요청할 수 있습니다.
예:
try {
// Create temp file.
File temp = File.createTempFile("pattern", ".suffix");
// Delete temp file when program exits.
temp.deleteOnExit();
// Write to temp file
BufferedWriter out = new BufferedWriter(new FileWriter(temp));
out.write("aString");
out.close();
} catch (IOException e) {
}
아니요. 클래스의 인스턴스File
파일 시스템의 경로를 나타냅니다.따라서 이 기능은 파일에서만 사용할 수 있습니다.하지만 아마도 과부하가 있어서InputStream
대신?
Java에서 File 객체는 파일 자체가 아니라 디렉토리 또는 파일에 대한 경로를 나타냅니다.파일 시스템에 대한 쓰기 액세스 권한을 가지고 있지 않아도 파일 시스템을 생성할 수 있습니다.File
오브젝트 파일(예를 들어 FileOutputStream 사용)에 실제로 쓰려는 경우에만 필요합니다.
그File
class는 I/O에 사용할 실제 핸들이 아닌 파일의 "아이디어"를 나타냅니다.이게 바로 그 이유죠.File
클래스에는.exists()
파일이 존재하는지 아닌지를 알려준다.(어떻게 파일을File
존재하지 않는 오브젝트)
이와는 대조적으로, constructuring,new FileInputStream(new File("/my/file"))
는 바이트를 읽을 수 있는 실제 스트림을 제공합니다.
FileReader r = new FileReader(file);
파일 리더를 사용하여 파일을 로드한 후 문자열 버퍼에 내용을 씁니다.
위의 링크는 이를 수행하는 방법의 예를 보여 줍니다.이 답변의 다른 게시물에는 파일을 메모리에 로드하라는 내용이 있으므로 실제 파일을 변경할 계획이 없는 한 쓰기 액세스 권한이 필요하지 않습니다.
언급URL : https://stackoverflow.com/questions/7083698/create-a-file-object-in-memory-from-a-string-in-java
'programing' 카테고리의 다른 글
비 ASC를 찾으려면 어떻게 해야 하나요?MySQL의 II 문자? (0) | 2022.09.29 |
---|---|
C 프로그램의 디렉토리에 파일을 나열하려면 어떻게 해야 합니까? (0) | 2022.09.29 |
탈옥 캐릭터는 다 뭐야? (0) | 2022.09.29 |
모키토 입문자들은 어떻게 일하나요? (0) | 2022.09.29 |
폐지된 관리 대상Query() 문제 (0) | 2022.09.29 |