Většina odkazovaných řešení má zásadní problém v tom, že soubor načtou do paměti a pak zas uloží. V tomto případě by ale asi byl pro hromadný posun lepší mmap (FileChannel.map). Samotné zkrácení pak přes FileChannel.truncate, jak v jednom odkazovaném SO je ukázáno.