先以简单的文件读写实现为基础,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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我