こんばんは、今日、ファイルをサーバーにアップロードする際に Print Writer を使用したときに奇妙な状況に直面しました。FileOutPutStream
代わりに使用しようとしたファイルが転送され、問題が解決しました。私の質問は、なぜPrintWriter
その奇妙な動作をするのかということです。ファイルのアップロードに使用され、サーバーに保存します。
public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{
int i;
if(request instanceof MultipartWrapper){
String DestinationPath="C:\\";
MultipartWrapper request1=(MultipartWrapper)request;
File f=request1.getFile("photo");
java.io.FileInputStream fis=new java.io.FileInputStream(f);
//PrintWriter out=new PrintWriter(DestinationPath+f.getName()); causes the problem mentioned above
java.io.FileOutputStream out=new java.io.FileOutputStream(DestinationPath+f.getName());
while((i=fis.read())!=-1){
out.write(i);
}
fis.close();
out.close();
}
}