depends on what file system is on the disk that you will be resizing or on where you would resize it. in linux, u can resize and ext filesystem via resize2fs or fips for windows fat partitions. or, QTparted (which is a frontend for the gnu parted utility.
partition magic is a commercial windows based software that can handle fat, ext2 and ntfs resizing w/out losing data. u can find more info by doing an LQ search.