java 代码有问题 高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/22 01:16:17
package com.yaojun;

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