2011-11-14 6 views
1

Java Spring 웹 응용 프로그램에서 이미지 파일을 만듭니다. 이 파일은 임시 이름을 가져옵니다 나중에 내가 사용하여 이름을 변경하려고하면, 내가 사용 임시 파일을 만들기위한Java가 서버에있는 파일을 찾을 수 없습니다.

public void rename(String productFilename){ 

    String newProductFilename = "newfile.jpg"; 
    File input = new File(imageDir + "/products/" + productFilename); 
    File output = new File(imageDir + "/products/" + newProductFilename); 
    Boolean checkRename = input.renameTo(output); 
} 

:

public String generate(){ 
    String productFilename = "filename.jpg"; 
    ImageIO.write(out, imageFileType, new File(imageDir + "/products/" + productFilename)); 
    return productFilename; 
} 

imageDir의 값이의 경우 :/var/이미지

클래스 전체에서 imageDir 변수는 절대 경로로 설정됩니다. 이상한 점은이 모든 것이 Windows에서 훌륭하게 작동하지만, Linux에서 실행될 때는 FileNotFoundException이됩니다.
나는 파일이 존재하는지 100 % 확신하고있다. 내가 뭘 잘못하고 있는지에 대한 단서?

+1

예외도 붙여 넣을 수 있습니까? –

+1

'newFilename'과 'productFilename'이 다른가요? 당신은 생성과 이름 변경을 위해 다른 vars를 사용하는 것처럼 보입니다. Windows에서 작동하므로 케이스 문제가 있습니까? 임시 파일을 쓰는 데 사용 된 파일 이름과 이름을 바꾸는 데 사용되는 파일 이름을 기록합니다. –

+0

제 편집을 참조하십시오. generate 함수는 이름 바꾸기 함수가 사용중인 파일 이름을 반환합니다. – jorgen

답변

1

해결책을 찾았습니다. 파일명은 리눅스에서 인식되도록 잘려야했습니다. 그러나이 작업은 Windows에서 트리밍없이 수행되었습니다.

관련 문제