这条句子-----for(File f1:f.listFiles()) ----看不懂???? 请教各位老师... 出自方法 : public void transmit(File f)throws IOException//这是传输的核心,而且将被递归
{
byte b[];
String ts;
int ti;
for(File f1:f.listFiles())
{ //首先通过if语句判断f1是文件还是文件夹
if(f1.isDirectory()) //fi是文件夹,则向服务器端传送一条信息
{
ts="/]0f"+(f1.getPath().replace("g:\\dir\\",""));//"/]0f"用于表示这条信息的内容是文件夹名称
b=ts.getBytes();
dos.write(b);
dos.flush();
dis.read();
transmit(f1);//由于f1是文件夹(即目录),所以它里面很有可能还有文件或者文件夹,所以进行递归
}
else
{
fis=new FileInputStream(f1);
ts="/]0c"+(f1.getPath().replace("g:\\dir\\",""));//同上,表示这是一个文件的名称
b=ts.getBytes();
dos.write(b);
dos.flush();
dis.read();
dos.writeInt(fis.available());//传输一个整型值,指明将要传输的文件的大小
dos.flush();
dis.read();
b=new byte[10000];
while(fis.available()>0)//开始传送文件
{
ti=fis.read(b);
dos.write(b,0,ti);
dos.flush();
}
dos.flush();
fis.close();
dis.read();
}
}
}
JAVA 1.5的新特性相当于File[] files = f.listFiles();
File f1= null;
for(int i=0; i<files.length; i++){
f1=files[i];
...
}
遍历f.listFiles()的元素
for(int i : arr){
//在JDK5.0版本上新增加的
System.out.println(i);
}
Collection c = new ArrayList();
c.add(new String("aaaa"));
c.add(new String("bbbb"));
c.add(new String("cccc"));
for(Object o : c){
System.out.println(o);
}
这种方法有一个缺点,就是不能访问数据特定下标.