The calculated distance (air line) between Rio de Janeiro and Caraguatatuba is approximately 150 miles respectively 241 kilometers.
By car or train, the actual journey to Caraguatatuba is certainly longer, as only the direct route (as the crow flies) between Rio de Janeiro and Caraguatatuba has been calculated here.
Air line (approximately)
241 kilometers
130 nautical miles