Ice caused AirAsia QZ8501 flight crash.
Caskets containing the remains of AirAsia QZ8501 passengers recovered from the sea are carried to a military transport plane before being transported to Surabaya, where the flight originated, at the airport in Pangkalan Bun, Central Kalimantan January 2, 2015.Reuters

The fuselage of the crashed AirAsia QZ8501 flight has been located in the Java Sea, thus raising hopes of recovering the bodies of victims that still remain trapped under water.

So far only 48 bodies have been recovered, while there were 162 people, including the crew, on the ill-fated flight on 28 December.

The fuselage was located by Singapore's Navy Ship, Singapore's Defence Minister Dr Ng Eng Hen said.

"Chief of Navy RADM Lai Chung Han just informed me that one of SAF's ships, the MV Swift Rescue, has located the fuselage of the AirAsia plane in the Java Sea," he said on his Facebook account, in which he also shared underwater photos of the fuselage.

"I hope that with the fuselage located, some form of closure can come to the families of the victims to ease their grief," he said.

The black boxes of the plane were recovered over the last two days, bringing investigations closer to revealing the cause of the aircrash.

The plane's cockpit voice recorder and flight data recorder have been sent to Jakarta for investigation by Indonesia's National Transportation Safety Committee.

The flight data recorder will hold information about the plane's instruments, while the cockpit voice recorder will reveal sounds in the cockpit, including the pilots' conversations.