📄 templatelist.java
字号:
import java.io.*;
import java.text.*;
import java.util.*;
/**
*
*
* @author Chen Xin Wu
*/
public class TemplateList
{
SingleTemplate templateArr[];
int templateNum;
public static TemplateList getTemplate(String filename){
TemplateList TList = new TemplateList();
if( TList.readTemplate(filename) )
return TList;
return null;
}
public boolean readTemplate(String filename)
{
FileReader freader;
// 将模板文件读到 templateContents 中
try
{
freader = new FileReader(filename);
}catch(Exception e)
{
return false;
}
char[] contents = new char[200000];
int nSize;
try
{
nSize = freader.read(contents,0,200000);
freader.close ();
}catch(Exception e)
{
return false;
}
String templateContents = new String(contents,0,nSize);
// 分析模板文件,读入子模板
int start,posi,len,posi1;
String result,part1,part2;
String keyword1="<!-- TeleTemplate(",keyword2=" TeleTemplateEND -->";
int keylen1,keylen2;
String templateName,templateString;
keylen1 = keyword1.length();
keylen2 = keyword2.length();
start = 0;
templateNum = 0;
result = new String();
result = "";
templateArr = new SingleTemplate[140];
while(true)
{
len = templateContents.length();
posi = templateContents.indexOf(keyword1,start);
if(posi==-1)
break;
part1 = templateContents.substring(start,posi);
result = result.concat(part1);
posi1 = templateContents.indexOf(")",posi+keylen1);
if(posi1==-1)
break;
templateName = templateContents.substring(posi+keylen1,posi1);
posi = templateContents.indexOf(keyword2,posi1+1);
if(posi == -1)
break;
templateString = templateContents.substring(posi1+1,posi);
templateArr[templateNum] = new SingleTemplate();
templateArr[templateNum].makeTemplate(templateName,templateString);
templateNum++;
templateContents = templateContents.substring(posi+keylen2,len);
}
result = result.concat(templateContents);
templateArr[templateNum] = new SingleTemplate();
templateArr[templateNum].makeTemplate("ROOT",result);
templateNum++;
return true;
}
public SingleTemplate searchTemplate(String name)
{
int i;
for(i=0;i<templateNum;i++)
{
if(templateArr[i].hasName(name))
return templateArr[i];
}
return null;
}
public int getTemplateNum() { return templateNum; }
public SingleTemplate getTemplateAt(int i) { return templateArr[i]; }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -