我正在尝试写入一个csv文件。下面的代码执行后,csv文件仍然为空。
文件位于文件夹.../webapp/resources/中。

这是我的道课:

public class UserDaoImpl implements UserDao {

private Resource cvsFile;

public void setCvsFile(Resource cvsFile) {
    this.cvsFile = cvsFile;
}

@Override
public void createUser(User user) {

    String userPropertiesAsString = user.getId() + "," + user.getName()
            + "," + user.getSurname() +"\n";;

    System.out.println(cvsFile.getFilename());

    FileWriter outputStream = null;
    try {
        outputStream = new FileWriter(cvsFile.getFile());
        outputStream.append(userPropertiesAsString);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

@Override
public List<User> getAll() {
    return null;
}
}


这是beans.xml的一部分。

<bean id="userDao" class="pl.project.dao.UserDaoImpl"
    p:cvsFile="/resources/users.cvs"/>


程序会编译,不会引发任何异常,但是CSV文件为空。

最佳答案

如果您在IDE中运行应用程序,则用于运行应用程序的/webapp/resources将与IDE中的/webapp/resources不同。尝试记录文件的完整路径并在此处检查。

08-28 11:40