I will not suggest you to write the CSV parser because there may be a strong change that it may have bug. Visualforce page may have the problem of ViewState if the file is large.
You can import the CSV file to a specfic object using using any ETL tool also.
You can achive this functionality.
http://developer.force.com/cookbook/recipe/uploading-a-document-using-visualforce-and-a-custom-controller
-Thanks
Ashlekh Gera
There are so many blogs available on how to parse the CSV file.
https://gist.github.com/nicocrm/858086
http://developer.financialforce.com/customizations/importing-large-csv-files-via-batch-apex/
https://infael.wordpress.com/2014/06/14/parsing-csv-files-import-csv-file-to-salesforce-com-using-apex/
http://http://sfdcsrini.blogspot.com/2014/04/how-to-read-csv-file-from-apex_17.html
I will not suggest you to write the CSV parser because there may be a strong change that it may have bug.
Visualforce page may have the problem of ViewState if the file is large.
You can import the CSV file to a specfic object using using any ETL tool also.
Thanks,
Sumit KumarSingh