使用文件上传 servlet 而不是 JAX-RS 端点。从长远来看,它更容易。关于从数组列表写入文件,此代码会将其写入文件并检查文件是否已上传。
private List<File> files=new ArrayList<File>();
private String filename="yourfilename.dat"
private boolean fileHasAlreadyBeenUploaded() throws IOException, ClassNotFoundException {
boolean hasFileAlreadyBeenUploaded=false;
File currentfile=new File(fileName);
if(!currentfile.exists()){
currentfile.createNewFile();
ObjectOutputStream output
= new ObjectOutputStream(
new FileOutputStream(currentfile));
files.add(currentFile);
output.writeObject(currentFile);
output.close();
hasFileAlreadyBeenUploaded=false;
}
else{
ObjectInputStream input
= new ObjectInputStream(
new FileInputStream(currentfile));
files = (List<File>) (input.readObject());
input.close();
for(int i=0;i<files.size();i++){
if(FileUtils.contentEquals(files.get(i), currentfile)){
hasFileAlreadyBeenUploaded=true;
}
}
if(!hasFileAlreadyBeenUploaded){
ObjectOutputStream output
= new ObjectOutputStream(
new FileOutputStream(fileName));
files.add(currentfile);
output.writeObject(currentfile);
output.close();
}
}
return hasFileAlreadyBeenUploaded;
}
然后你可以用它做任何你想做的事情。对于您的 Web 服务,您最好使用 JAX-RS 端点的 Fileupload servlet。注释 @Webservlet 将为您提供该端点
请查看以下链接以获取该示例
文件上传 servlet java