先以简单的文件读写实现为基础,FileHelper类中的readFile方法用于读取文件内容,writeFile方法用于向文件中写入内容。
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; public class FileHelper { public static String readFile(String filename) throws Exception { BufferedReader reader = new BufferedReader(new FileReader(filename)); String ans = \"\", line = null; while((line = reader.readLine()) != null){ ans += line + \"\\r\\n\"; } reader.close(); return ans; } public static void writeFile(String content, String filename) throws Exception { BufferedWriter writer = new BufferedWriter(new FileWriter(filename)); writer.write(content); writer.flush(); writer.close(); } public static void main(String[] args) throws Exception { String ans = readFile(\"D:\\\\input.txt\"); writeFile(ans, \"D:\\\\output.txt\"); } }
然后在FileHelper类的基础上写一个WebpageMaker类,其createPage方法用于将特定文件中的内容生成在特定的网页中。
其中如果要插入代码可以将代码加入中。
import java.util.StringTokenizer; public class WebpageMaker { public static String initBegin() { String s = \"<!doctype html><html><head><title></title></head><body>\\r\\n\"; return s; } public static String initEnd() { String s = \"\\r\\n</body></html>\\r\\n\"; return s; } public static void createPage(String inputfilename, String outputfilename) throws Exception { String content = FileHelper.readFile(inputfilename); StringTokenizer st = new StringTokenizer(content, \"\\r\\n\"); String ans = \"\"; ans += initBegin(); boolean isCoding = false; while(st.hasMoreElements()) { String s = st.nextToken(); int len = s.length(); for(int i=0;i<len;i++) { if(i+6 <= len && s.substring(i,i+6).equals(\"<alex>\")) { isCoding = true; ans += \"<pre style=\\\"background-color:aliceblue\\\">\"; i += 5; continue; } if(i+7 <= len && s.substring(i,i+7).equals(\"</alex>\")) { isCoding = false; ans += \"</pre>\"; i += 6; continue; } char c = s.charAt(i); if(c == \'\\\"\') ans += \"\"\"; else if(c == \'&\') ans += \"&\"; else if(c == \'<\') ans += \"<\"; else if(c == \'>\') ans += \">\"; else if(c == \' \') ans += \" \"; else if(c == \'\\t\') ans += \" \"; else ans += c; } if(false == isCoding) ans += \"<br />\\r\\n\"; else ans += \"\\r\\n\"; } ans += initEnd(); FileHelper.writeFile(ans, outputfilename); } public static void main(String[] args) throws Exception { createPage(\"D://test.txt\", \"D://test.html\"); } }
样例:
输入文件:test.txt
hello world! 大家好:) #include int main() { printf(\"hello world!\\n\"); return 0; }
输出文件:test.html
<!doctype html><html><head><title></title></head><body> hello world!<br /> 大家好:)<br /> <pre style=\"background-color:aliceblue\">#include <stdio.h> int main() { printf(\"hello world!\\n\"); return 0; }</pre><br /> </body></html>
效果如下:
hello world! 大家好:) #include <stdio.h> int main() { printf(\"hello world!\\n\"); return 0; }
本文地址:https://www.stayed.cn/item/12004
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我