Peer-to-Peer (P2P) storage systems are cost-effective and reliable platforms that enable users to share their storage to support variant emerging applications, such as peer-to-peer social networks and distributed backup systems. Because different users have heterogeneous online characteristics and bandwidth capabilities, how to replicate data at suitable peers has become an important issue to ensure that users can access any replica with a high probability. Previous work on data replication in a P2P storage system only considers online characteristic of each user, and aims at increasing data availability. However, we notice that, without considering the bandwidth capability of each user, a system might replicate popular data at a user who has a long online duration but does not have enough bandwidth capability to support all the requests. Therefore, in this work, we propose a swap-based replication scheme that jointly considers online characteristic, data popularity and bandwidth capability to improve not only data availability, but also access probability for each data item.