posts - 23,comments - 12,trackbacks - 0


 

问题:JavaBean的一个写文件方法,独立调试正常。但移到Struts下,通过Action调用时,

抛出异常。


 

原因:文件路径问题
解决方法:
1.修改原来JavaBean里带前缀路径的文件---"resources/users.properties"
为"users.properties"
2.将struts框架下的源文件users.properties,直接移到src下
3.重新编译,部署
4.运行这个注册组件成功后,可以到$服务器主目录$/bin下,查看这个已经写过的
users.properties文件
以上问题,曾尝试将resources/user.properite改为绝对路径"d:/users.properties",
或改为相对路径"/resources/properties",或直接向JavaBean中传入路径参数path,
path=request.getRealPath("")(或request.getContextPath)等,均没有调试成功。
故记录下来,希望其它网友遇到时,不必再做这样的重复劳动。
附:
1.Action中调用方法:
UserDirectory.getInstance().setUser(userName,password1);
2.JavaBean的缩略代码:
UserDirectory.java
import java.io.IOException;
import java.io.FileOutputStream;
import java.util.Enumeration;
import java.util.Properties;
public class UserDirectory {
 private static final String UserDirectoryFile = "users.properties";
 private static final String UserDirectoryHeader = "${user}=${password}";
 public static UserDirectory getInstance() throws UserDirectoryException {
  if (null == userDirectory) {
   userDirectory = new UserDirectory();
  }
   return userDirectory;
 }
 
  public void setUser(String userId, String password) throws
   UserDirectoryException {
   if ( (null == userId) || (null == password)) {
    throw new UserDirectoryException();
   }try {
    p.put(fixId(userId), password);
    p.store(new FileOutputStream(UserDirectoryFile),UserDirectoryHeader);
   }catch (IOException e) {
    throw new UserDirectoryException();
   }
  }
 }
posted on 2005-09-07 13:39 my java 阅读(1500) 评论(1)  编辑  收藏

FeedBack:
# re: Struts中读写文件的路径问题
2009-10-15 08:32 | yu
我也遇到了同样的问题,非常感谢你,让我少走了弯路  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: