We propose an energy efficient adaptive scheme for mobile-to-mobile file sharing applications. The proposed scheme monitors the signal strength level during the file transfer process and compresses data blocks on-the-fly only whenever energy reduction gain is expected. The proposed scheme exploits the trade-off between spending energy to compress a file and transmit less data versus spending energy sending the file uncompressed and, thus, without additional computations before transmission. By applying data compression, the intended information is sent with lower number of bits and, thus, less transmission energy. However, the computational as well as memory access requirements of compression algorithms could consume more energy than simply transmitting data uncompressed. Moreover, if the transmission rate over the wireless medium is high then the need for compression might be reduced or even eliminated as data is transferred efficiently within a limited amount of time. We evaluate and optimize the performance of the proposed adaptive compression scheme using experimental measurements in different scenarios and as a function of various parameters. Energy consumption results demonstrate that the proposed scheme achieves notable energy reduction gains when compared to other traditional approaches. Moreover, we derive an empirical energy model that analytically quantifies the energy consumed during data transmission as a function of the signal strength level and during data compression as a function of the data size. The derived empirical model is then used to obtain energy consumption results for file sharing over multihop scenarios.