下面这个类具有如下作用:
读取指定页面文件,转换文件编码,并且对指定的页面文件中的相对路径进行修改,以保证其引用内容正确显示。
class StringFuncs{
public String InsertPageBody(String strFileName){
File objFile="null"; //文件对象
FileReader objFileReader="null"; //读文件对象
BufferedReader bufReader="null"; //缓冲对象
//char[] chrBuffer = new char[10]; //缓冲
//int intLength; //实际读出的字符数(一个中文为一个字符)
String str = "";
String tmp_str=null;
//创建文件对象
objFile = new File(strFileName);
if(objFile!=null){
//判断文件是否存在
if( objFile.exists() ){//文件存在
//创建读文件对象
try{
objFileReader = new FileReader(objFile);
if(objFileReader!=null){
//创建缓冲对象
bufReader=new BufferedReader(objFileReader);
if(bufReader!=null){
//读文件内容
//while((intLength=objFileReader.read(chrBuffer))!=-1){
while( ( tmp_str = bufReader.readLine()
) != null ){
tmp_str=new String(tmp_str.getBytes(objFileReader.getEncoding()),"UTF-8");
str+=trimStr(tmp_str, "include", ".gif");
//str=objFileReader.getEncoding();
//str=new String("我的问题".getBytes("UTF-8"));
}
//关闭缓冲对象
bufReader.close();
}
}
//关闭读文件对象
objFileReader.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
return str;
}
private String trimStr(String str, String insert_str, String ext_str){
//String str = "this is an example = sss =\"tss/oum.img\" ";
//String insert_str="Insert Me";
String tmp_str="";
int index="0", ori_index=0;
char tmp_char=0;
boolean finished="false";
while(finished==false){
index=str.indexOf(ext_str, ori_index);
if(index!=-1){
ori_index=index;
//System.out.print("Index at img: ");
//System.out.println(index);
while(index>0){
index--;
if('='==str.charAt(index)){
break;
}
}
}
if(index==-1){
finished=true;
}
if(index!=-1){
//System.out.print("Index at =: ");
//System.out.println(index);
while(index<ori_index){
index++;
tmp_char=str.charAt(index);
if( ('\"'!=tmp_char) && (' '!=tmp_char) ){
break;
}
}
//System.out.print("Index before path: ");
//System.out.println(index);
String pre_str=str.substring(0, index);
String pos_str=str.substring(index);
tmp_char=pos_str.charAt(0);
if( ('/'!=tmp_char) && ('\\'!=tmp_char) ){
tmp_str=str.substring(index, ori_index);
if(-1!=tmp_str.indexOf('\\')){
tmp_str="\\";
}
else{
tmp_str="/";
}
}
else{
tmp_str="";
}
str=pre_str+insert_str;
str+=tmp_str;
str+=pos_str;
//System.out.print("Pre str: ");
//System.out.println(pre_str);
//System.out.print("Insert str: ");
//System.out.println(insert_str);
//System.out.print("Post str: ");
//System.out.println(pos_str);
//System.out.print("Result str: ");
//System.out.println(str);
//System.out.println();
//System.out.println();
//System.out.println();
}
if(finished==false){
ori_index+=insert_str.length()+ext_str.length();
}
}
return str;
}
}
文章评论(0条评论)
登录后参与讨论