will have done (finished before then) (B1 Grammar)
To say something will already be finished before a moment later on, use will have + the past participle (finished, left, arrived, written). You look ahead to a future point and say it's done by then.
will have + the past participle
By 5 PM, I will have finished my work.
She will have left by the time you arrive.
By next year, they will have saved enough money.
Try it: Don't worry, by the time you get here I ___ dinner. (will have cooked / will cook / will have cook) Answer: will have cooked — You look ahead to when they arrive and say it's already done by then, so use will have + the past participle: will have cooked. "Will cook" just says it happens, not that it's finished first. And after will have you need the past participle cooked, not the plain "cook".
won't have + the past participle
For the negative, use won't have + the past participle. (won't = will not.) It says the thing will not be finished by that future time.
They won't have arrived by midnight, the flight is delayed.
I won't have read the whole book by Friday.
We won't have saved enough by then.
Try it: The train is late, so they ___ by the time the show starts. (won't have arrived / won't arrive / won't have arrive) Answer: won't have arrived — It says they will not be finished arriving by then, so use won't have + the past participle: won't have arrived. "Won't arrive" means they don't come at all, and "won't have arrive" uses the base verb instead of the past participle arrived.
Will + subject + have + past participle?
To ask, put will first: Will + subject + have + the past participle? For example Will you have finished by 6 PM? The rest of the form stays the same — only will moves to the front. Short answers: Yes, I will. / No, I won't.
Will you have finished the report by Friday?
Will they have arrived by the time we leave?
Will she have saved enough money by then?
Try it: You want to ask if the work is done before tonight. Which is right? (Will you have finished by tonight? / Do you will have finished by tonight? / You will have finished by tonight?) Answer: Will you have finished by tonight? — For a question, move will to the front: Will you have finished by tonight? "Do you will have" adds an extra do, which you never use with will. And just saying "You will have finished...?" keeps statement order instead of putting will first.
by + a future time
This form often comes with by: by 5 PM, by Friday, by then, by the time you arrive. The by marks the future point that the action is finished before.
By the end of the month, we will have moved house.
I will have finished this report by Friday.
By the time she calls, I will have prepared everything.
Try it: ___ next summer, Mei will have graduated. (By / Since / For) Answer: By — By marks the future point the action is done before: By next summer, she will have graduated. "Since" marks a starting point in the past, and "for" measures a length of time, neither of which fits a deadline up ahead.
Try it: She starts the essay tonight and hands it in Friday. On Saturday, looking back, which is right? (By Friday, she will have written the essay. / By Friday, she will write the essay. / By Friday, she will have wrote the essay.) Answer: By Friday, she will have written the essay. — You look ahead to Friday and say it's done before then, so use will have + the past participle: will have written. "Will write" only says it happens, and "will have wrote" uses the wrong form (it's written after have, not wrote).