package javadown;import java.io.*;
import java.util.*;
public class IOreader {
public static void main(String[] args){
/**得到更新目录*/
String[] str=new Reader().ReaderFile("netupdate");
/**得到要更新的文件*/
String[] update=new Check().CheckFile(str);
for(int i=0;i<update.length;i++){
System.out.println(update[i]);
}
}
}
class Check{
/**比较本机目录与更新目录,fileSrt是更新目录*/
public String[] CheckFile(String[] str){
/**得到本机的文件目录*/
String[] fileStr=new Reader().ReaderFile("update");
ArrayList al=new ArrayList();
for(int j=0;j<str.length;j++){
al.add(str[j]);
}
for(int i=0;i<fileStr.length;i++){
for(int j=0;j<al.size()-1;j++){
if(al.get(j).toString().equals(null)){
al.remove(j);
break;
}
if(al.get(j).toString().equals(fileStr[i])){
al.remove(j);
break;
}
}
}
String[] rt=new String[al.size()-1];
for(int j=0;j<rt.length;j++){
rt[j]=al.get(j).toString();
}
return rt;
}
}
class Reader{
public String[] ReaderFile(String str){
BufferedReader br;
try {
br = new BufferedReader(new FileReader(str));
ArrayList al=new ArrayList();
String rd=br.readLine();
al.add(rd);
while(rd!=null){
rd=br.readLine();
al.add(rd);
}
br.close();
String[] rt=new String[al.size()];
al.toArray(rt);
return rt;
} catch (FileNotFoundException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
return null;
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
return null;
}
}
}
自己写的,全部代码如下,但有一点搞不明白,为什么ArrayList al最后总是有个null呢?搞得我非要用这句来去除
String[] rt=new String[al.size()-1];
for(int j=0;j<rt.length;j++){
rt[j]=al.get(j).toString();
}
还望高手指点哦。