使用Java把文本内容转换成网页的实现方法分享

先以简单的文件读写实现为基础,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 = "\r\n";
    return s;
  }
  public static String initEnd() {
    String s = "\r\n\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")) {
          isCoding = true;
          ans += "
";
          i += 5;
          continue;
        }
        if(i+7 <= len && s.substring(i,i+7).equals("")) {
          isCoding = false;
          ans += "
"; 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 += "
\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


hello world!
大家好:)
#include 
int main() {
  printf("hello world!\n");
  return 0;
}

效果如下:

hello world!
大家好:)
#include 
int main() {
  printf("hello world!\n");
  return 0;
}

你可能感兴趣的:(使用Java把文本内容转换成网页的实现方法分享)