本帖最后由 王德升 于 2012-7-11 16:25 编辑
一:
import java.io.*;
class FileDemo
{
public static void main(String[] args)
{
File f = new File("d:\\java0420");
method_1(f);
}
public static void method_1(File dir)
{
File[] files = dir.listFiles();
for(File f : files)
{
System.out.println(files[f]);//这里报错,怎么定义角标阿,为什么会报错呢?
}
}
}
二:
import java.io.*;
import java.util.*;
class SplitFile
{
public static void main(String[] args) throws IOException
{
merge();
}
public static void merge()throws IOException
{
ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
for(int x=1; x<=3; x++)
{
al.add(new FileInputStream("c:\\splitfiles\\"+x+".part"));
}
final Iterator<FileInputStream> it = al.iterator();//这里为什么用迭代啊,还加个final???
Enumeration<FileInputStream> en = new Enumeration<FileInputStream>()//为什么要用Vector里面的Enumeration??
{
public boolean hasMoreElements()
{
return it.hasNext();
}
public FileInputStream nextElement()
{
return it.next();
}
};
SequenceInputStream sis = new SequenceInputStream(en);
FileOutputStream fos = new FileOutputStream("c:\\splitfiles\\0.bmp");
byte[] buf = new byte[1024];
int len = 0;
while((len=sis.read(buf))!=-1)
{
fos.write(buf,0,len);
}
fos.close();
sis.close();
}
public static void splitFile()throws IOException
{
FileInputStream fis = new FileInputStream("c:\\1.bmp");
FileOutputStream fos = null;//为什么在这里建立个引用呢?
byte[] buf = new byte[1024*1024];
int len = 0;
int count = 1;
while((len=fis.read(buf))!=-1)
{
fos = new FileOutputStream("c:\\splitfiles\\"+(count++)+".part");
fos.write(buf,0,len);
fos.close();
}
fis.close();
}
} |
|