1
Glassfish에서 실행되는 Stateless EJB 내에 다음 기능이 있습니다. 파일에 데이터를 쓰는 것뿐입니다. 함수의 첫 번째 부분은 파일이 필요한 곳으로의 경로를 만듭니다. 두 번째 부분은 실제로 파일을 씁니다.Glassfish에 배포 된 Webapp는 파일에 쓸 수 없습니다.
private boolean createFile(String companyName, String fileName, byte[] data)
{
logger.log(Level.FINEST, "Creating file: {0} for company {1}", new Object[]{fileName, companyName});
File companyFileDir = new File(LOCAL_FILE_DIR, companyName);
if(companyFileDir.exists() == false)
{
boolean createFileDir = companyFileDir.mkdirs();
if(createFileDir == false)
{
logger.log(Level.WARNING, "Could not create directory to place file in");
return false;
}
}
File newFile = new File(companyFileDir, fileName);
try
{
FileOutputStream fileWriter = new FileOutputStream(newFile);
fileWriter.write(data);
}
catch(IOException e)
{
logger.log(Level.SEVERE,"Could not write file to disk",e);
return false;
}
logger.log(Level.FINEST,"File successfully written to file");
return true;
}
이 코드가 실행 후 얻을 출력은 다음과 같습니다
WARNING: Could not create directory to place file in
그래서 분명히 글래스 피시는이 디렉토리를 생성하지 못할. 나는 이것이 허가와 관련이 있다고 가정하고있다. 누구든지 나에게 여기에 무엇이 잘못 되었을지에 대한 방향을 제시 할 수 있습니까?
우분투에 글래스 피시 3.12에 12