A 29-year-old man was stabbed on a cycle path in Sainte-Agathe-des-Monts, Que., shortly after midnight.
A passerby heard screams and called authorities. The victim suffered serious injuries but is expected to recover.
Authorities said they wanted to reassure citizens who worried someone was attacking people without apparent reason.
The suspect is a 20-year-old man. He will appear in court on Monday.