java 代码有问题 高手帮忙
来源:百度知道 编辑:UC知道 时间:2024/05/22 01:16:17
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
public class TempleEngin {
public static String render(String Filename, HashMap varValues) throws IOException{
StringBuffer sb=new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(Filename)));
try{
String line=reader.readLine();
while(line!=null){
System.out.println(line);
line=reader.readLine();
}
}
finally{
reader.close();
}
String html=sb.toString();
for(Object obj:varValues.keySet()){
String vName="@"+obj;
String value=(String) varValues.get(obj);
html=html.replaceAll(vName, value);
}
return html;
}<
不知道你要实现一个什么功能
反正sb从一开始new到后面tostring,中间都没有用到过
你是要把读出来的数据添加到sb中么?
while(line!=null){
System.out.println(line);
line=reader.readLine();
sb.append(line);
}
另外try好像没有写catch
sb 没用到,line 被赋值两次无意义,try无catch。
我把你的代码稍微修改了一下,看看哈:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
public class TempleEngin {
public static String render(String Filename, HashMap<String,String> varValues) throws IOException{
BufferedReader reader = new BufferedReader(new FileReader(Filename));
StringBuffer bf=new StringBuffer();
try{
while(reader.readLine()!=null){
bf.append(reader.readLine());
}
}
finally{
reader.close();
}
for(String obj:varValues.keySet()){
String vName="@"+obj