日期:2014-05-20 浏览次数:21661 次
public static ArrayList ReadSqlConfing(String str) throws FileNotFoundException, IOException{
FileReader myFileReader=new FileReader(str);
BufferedReader myBufferedReader=new BufferedReader(myFileReader);
String myString=null;
ArrayList<String []> myal=new ArrayList<String []>();
String mysql="";
String filename="";
//tempal[0]="";
//tempal[1]="";
//String tmpstr[]=new String[2];
/*while((myString=myBufferedReader.readLine())!=null)
{ System.out.println(myString);
}*/
int i=0;
while((myString=myBufferedReader.readLine())!=null)
{ //System.out.println(myString.indexOf("//-->"));
if(myString.indexOf("//-->")>=0){
filename=myString.replace("//-->","");//取得要保存的文件名
//System.out.println(filename);
String tempal[]=new String[2];
tempal[0]=mysql;
tempal[1]=filename;
//myal.add(i,new String[2]);
myal.add(i,tempal);
i++;
System.out.println("i="+i+" filename="+filename+" ");
mysql="";
filename="";
tempal[0]="";
tempal[1]="";
}
else{
mysql=mysql+myString;
}
}
myFileReader.close();
for(int m=0;m<myal.size();m++){
String tempal[]=new String[2];
tempal= (String[])myal.get(m);
System.out.println(tempal[0]);
System.out.println(tempal[1]);
}
return myal;
}
while((myString=myBufferedReader.readLine())!=null)
{ //System.out.println(myString.indexOf("//-->"));
if(myString.indexOf("//-->")>=0){
filename=myString.replace("//-->","");//取得要保存的文件名
//System.out.println(filename);
String tempal[]=new String[2];
tempal[0]=mysql;
tempal[1]=filename;
//myal.add(i,new String[2]);
myal.add(i,tempal);
i++;
System.out.println("i="+i+" filename="+filename+" ");
mysql="";
filename="";
tempal[0]=""; // 删除这行
tempal[1]=""; // 删除这行
}
else{
mysql=mysql+myString;
}
------解决方案--------------------
这些都是引用变量,如果你把它们赋给其它的话
修改任何一处都会导致原来的值被修改
------解决方案--------------------
数组和对象都是存储引用的。
tempal和你list里的对象都是同一个,你可以通过==判断一下,因为它们是同一个引用,只是名称不同而已。
------解决方案--------------------