2011-12-12 2 views

답변

1

두 클래스의 설명서 (UploadedFileFile)를 보면 다음과 같은 해결 방법이 있습니다.

UploadedFileInputStream에 액세스 할 수 있으므로 업로드 된 파일의 데이터를 읽고 임시 위치 또는 애플리케이션에서 관리 할 수있는 다른 위치에 기록 할 수 있습니다.

// assume that you have the UploadedFile object named uploadedFile 
InputStreamReader reader = new InputStreamReader(uploadedFile.getInputStream()); 
int partition = 1024; 
int length = 0; 
int position = 0; 
char[] buffer = new char[partition]; 
FileWriter fstream = new FileWriter("out.tmp"); 
do{ 
    length = reader.read(buffer, position, partition) 
    fstream.write(buffer, position, length); 
}while(length > 0); 
File file = new File("out.tmp"); 
+0

오류가 ** linebreak ** ** length = reader.read (buffer, position, partition) ** 유형 불일치 : int에서 boolean으로 변환 할 수 없습니다. – JohnC

+0

이 수정되었습니다. 여기에서 일해야합니다. – mauris

+0

도움을 주셔서 감사합니다. – JohnC

4

가장 쉬운 방법은 apache commons FileUtils을 사용하는 것입니다.

File destFile= new File("somefile.txt"); 
FileUtils.copyInputStreamToFile(uploadedFile.getInputStream(), destFile); 
0
InputStreamReader reader = new InputStreamReader(uploadedFile.getInputstream()); 
BufferedReader br = new BufferedReader(reader); 
File f = new File("file.txt"); 
FileWriter fw = new FileWriter(f,false); 
BufferedWriter bw = new BufferedWriter(fw); 

while((line = br.readLine()) != null){ 
    fw.write(line + System.lineSeparator()); 
} 

이 코드는 txt 파일에 업로드 된 파일을 반환합니다.

관련 문제