沈光文小的时候即专意读书,非常刻苦,参加明经科考试得以进太学学习。明福王时期,清朝已占据绝大部分国土,沈光文作为明遗民跟随福王,并在福王的小朝廷中任职,授太常博士,并曾参预军务,晋升为工部郎。没过多久,明福王小朝廷便遭清廷剿灭,沈光文扈从不及,只好另寻他路。后来听说明桂王在广东肇庆一带,于是投奔桂王,累迁为太仆少卿。
清顺治六年(1649),沈光文乘船由潮阳到达金门,当时的福建总督李率泰正在悄悄招集明遗老遗贤,于是秘密派人前去招徕沈光文,并给予金银,许以高官。沈光文婉言相拖,退回银两和书信。而这时广东的桂王朝廷也已无力支撑残局,沈光文考虑到大势已去,只好暂留福建。他想举家迁到泉州居住,没有想到在途中突然遭遇台风,无奈被风吹到台湾。当时台湾被荷兰人所占据,荷兰人在台湾实行了一系列的殖民政策,政治上实行强制统治,军事上进行残酷镇压,经济上进行疯狂掠夺,并强制传播西方宗教文化。他们还限制台湾人民的活动,不准随意迁徙。在这样的情况下,沈光文与海峡对面的大陆失去了联系,大陆也无他的音讯,生死不知。
沈光文自幼苦读,参加明经科考试而进太学;后由福王朝廷授予太常博士,并曾参预军务,晋升工部郎。福王政权被清军消灭后,沈光文得知桂王在广东肇庆一带另立朝廷,乃前往投奔,累迁为太仆寺少卿。
1649年,沈光文前往金门;清福建总督李率泰以高官厚禄相诱,沈虽婉言相拒,但即滞闽未归。后来沈光文计画经海路迁居泉州,却在途中遭遇台风,漂流到台湾。当时中国正值改朝换代、兵马倥偬,清军席卷国中大部,郑芝龙遗部控制福建沿海;加上台湾时在荷兰东印度公司控制之下,各区之间缺乏一般性的通信渠道、消息不通。在这样的情况下,沈光文与中国方面完全失去联系、生死不知。
自沈氏漂流海外,以迄郑军入台,凡十三年间,他在岛上的具体行踪及活动,史无明载;今人只能从他所留诗文里的线索加以推测。
1661年,郑成功率军攻下台湾,明朝遗老纷纷入台随郑;郑成功得知沈光文也在台湾后,曾加以接见,并赐予田宅。郑成功死后,继位的郑经若干施政令沈光文不满,曾为文讥讽,几遭迫害,乃落发出家、避祸“罗汉门”山中——唯此“罗汉门”一地究处何地,学者有不同意见,迄无定论。明郑降清以后,清福建总督姚启圣曾答应助沈光文回归故里,唯最后并未实现。沈光文晚年定居目加溜湾社(即今台南县善化镇),他对当地原住民做出了一些医疗、文教方面的贡献;后人建有纪念碑以资纪念。
清顺治十八年(1661),郑成功率军在赤嵌登陆,一举收复台湾。当郑成功听说沈光文也在台湾时,非常高兴,以非常隆重的礼仪召见了沈光文。这时那些明朝的遗老遗贤们也纷纷入台随郑,沈光文见到他们也很高兴,相互感慨能在有生之年相见也算幸事。郑成功收复台湾,以及这些不愿归顺清朝的文人学士的入台,大大提高了台湾社会崇尚文化的风气。以较早到台的沈光文为主,以及较著名的王忠孝、辜朝荐、沈(人+全)期、郭贞一、李茂春、许吉(火+景)等人一起,开始提倡和宣传传统文化,将中华文化的种子播撒在这片富饶美丽的土地上。他们以传统的诗文形式,写下了台湾最早的第一批文学作品,成为台湾文化的开拓者。沈光文在台湾为提倡中华文化而不遗余力,他不仅积极提倡文教为先,而且身体力行。他给后世留下的著述有:《台湾舆图考》一卷、《草本杂记》一卷、《流寓考》一卷、《台湾赋》一卷、《文开诗文集》三卷,后来由他的同乡全祖望寻访而刊刻出来。由于沈光文在台湾生活达30多年,从荷兰占领台湾到郑成功收复台湾,以及郑氏家族的盛衰情况,他都亲眼目睹。以前也有人记述了这些历史变迁过程,但由于战火,许多都没有保存下来。惟有沈光文不仅目睹,而且用文字记录了下来,保存至今,为我们后人研究台湾历史提供了真实而宝贵的资料。
康熙元年(1662),郑成功在台湾病逝,其弟郑世袭被部下拥立,郑成功之子郑经迅速从厦门回到台湾,平定内乱,正式袭位。郑经经营台湾时,在用人和为政许多方面一改郑成功时的方法,引起了许多人的不满,沈光文于是作赋讽刺这些做法。有人背地里告诉郑经,沈光文几遭不测,他不得已只好化装为僧人,逃到北鄙,住在罗汉门山中。后来也是有人在郑经面前给他担保,罪行才得以免掉。当他在罗汉门山时,经常给山外的番社讲课,传播文化,教授生徒。有时还兼作医生,为周围村社看病。他常叹息说:“我二十多年飘零在孤岛上,不愿早早进坟墓,就是想人人都能留着明朝的发,然后再见先皇帝于地下。而最终也没有完成心愿,这只能说是命该如此!”1683年,清朝派施琅率军统一台湾。当时明遗老已所剩无几,而沈光文也已是垂暮之年,清福建总督姚启圣招见他,沈坚辞不就。后姚启圣写了一封信,想送他回家乡鄞县,终因姚启圣去世。此事无成。在沈光文的最后年月里,他和同道一起结社,诗酒唱酬,留下了很多上佳的诗作。最后在台湾诸罗去世。
17世纪中叶,郑成功驱逐荷夷,收复台湾,其事迹在海峡两岸广为传颂,妇孺皆知。然而作为台湾文体拓荒者的沈光文,却少为世人所知。
南明弘元年(1645年)沈光文参加浙东的抗清活动,授太常博士。后参与迎立南明鲁王朱以海,受封工部郎中等职,参赞军务。1648年鲁王北上,沈光文扈从不及,南来金门。当时,清朝闽督李率泰闻其名,派遣使者带聘书和财物劝降之,沈光文不就。1651年11月,携带家眷,自金门出海,欲入泉州,过围头洋时突遇飓风,漂泊到台湾南部,“遂寓居焉”。当时台湾为荷兰殖民者占据,推行荷文教育。沈光文隐姓埋名,躬耕生活,并尝试以汉文教授子弟,传播中华文化。他不辞辛劳,经年累月勘探地理,考察了台湾的山川、矿藏和港口道路。采访民俗,大小事无不详细记载,为创作台湾第一部地理志《台湾舆图考》积累了大量资料。1661年,郑成功收复台湾,得知沈光文在台,十分高兴,以客礼相待。
沈光文寓台30年,写下大量诗文,著述有《台湾舆图考》、《草木杂记》、《台湾赋》、《流寓考》、《文开诗文集》等。清政府统一台湾后,“游宦寓贤,簪缨毕集”,迁台文人纷纷组织各种诗社。此时年逾古稀的沈光文首先出面成立台湾第一个诗社——福台闲咏。“福台”是指福建省台湾府之意。后来清代首任泽区令季麟光等人也加入,乃更名为“东吟社”。
1688年沈光文逝于台南善化里,他作为台湾文化拓荒者的功绩却永为台湾人民纪念。连横对其评价很高:“台湾三百年间,以文学鸣海上者,代不数睹。郑氏之时,太仆寺卿沈光文之始以诗鸣。”清代鹿港建书院即借沈光文之字,名曰“文开书院”。许多书院将沈光文与朱熹并祀,尊奉沈光文为“台湾孔子”,崇祀不替,即使在日本占领期间也不间断。现在台南县还留下了不少以“文开”、“文光”命名的路、桥、街亭及诗社。