这是上传文件try()
        {
mySmartUpload.initialize(pageContext); 
mySmartUpload.service(request,response); 
mySmartUpload.upload(); 
String fn=mySmartUpload.getFiles().getFile(0).getFileName();
mySmartUpload.save("lzm/upload/");//文件保存的目录为upload
String fileName = "fileReader.jsp?fileName=upload/"+ fn ;
out.println("已经成功上传了文件,请查看<a href= "+fileName+">这里</a>,看文件是否上传成功");
} 察看文件String fileName="";
try
{
fileName = request.getParameter("fileName");
if (fileName==""||fileName==null)
{
out.write("<script>alert('fileName was null!');</script>");
fileName="";
}
System.out.println("fileReader 13 fileName=:"+fileName);
BufferedReader in=new BufferedReader(new FileReader(fileName));
String file="";
String temp="";
while((temp=in.readLine())!=null)
{
  file+=temp;
 }  
 in.close();
 out.println(file);
 out.flush();
}
但是总是出现 出现FileNotFoundException
上传可以有相对路径,那么在FileReader 就不能有相对路径么  在jdk文档上也没有找到是否可以用相对路径更让人郁闷的是如果文件名是中文 那么在察看的页面显示的是乱码 
我该怎么办 

解决方案 »

  1.   

    自己顶
    难道我说的不明白么
    就是
    BufferedReader in=new BufferedReader(new FileReader(fileName));
    中的fileName的值可以是相对路径么;
    能又是从那里开始算得
    没有我该怎么办 如果输入绝对路径 由于带WebServer\webapps  会出现异常
      

  2.   

    你应该用fileName=request.getRealPath("/")+"upload/"+fn
    File有一个构造函数是public File(URI uri),你试一下。