/*
思考:如何将一个目录中的后缀.java文件拷贝到另一个目录中?
思路:
1 查出源目录中后缀名为.java的文件的文件名
2 检查是否存在目标目录的
3 用字节流遍历拷贝
*/
import java.io.*;
class CopyFilePart
{
public static void main(String[] args)
{
String s1 = "E:\\classover\\day1";
String s2 = "F:\\360data\\重要数据\\桌面\\1234545465465";
// 1 查出源目录中后缀名为.java的文件的文件名
File f = new File(s1);
File[] fs = f.listFiles( new FileFilter(){
public boolean accept(File pathname)
{
return pathname.getName().endsWith(".java");
}
} );
// 2 检查是否存在目标目录的
File f1 = new File(s2);
if ( ! f1.exists() )
{
f1.mkdir();
}
System.out.println( f1 );
// 3 用字节流遍历拷贝
BufferedOutputStream out = null;
BufferedInputStream in = null;
try
{
for (int i=0;i<fs.length ;i++ )
{
out = new BufferedOutputStream( new FileOutputStream(fs) );
in = new BufferedInputStream ( new FileInputStream(new File(f1,fs.getName())) );
byte [] by = new byte [1024];
int a = 0;
while ( (a=in.read(by))!=-1 )
{
out.write(by,0,a);
}
}
}
/*
//用字符流实现拷贝
BufferedReader in = null;
BufferedWriter out = null;
try
for ( int i = 0; i < fs.length ; i++ )
{
in = new BufferedReader( new FileReader( fs ) );
out = new BufferedWriter( new FileWriter( new File( f1, fs.getName() ) ) );
String str = null;
while ( (str = in.readLine()) != null )
{
out.write( str );
out.newLine();
}
}
}
*/
catch (Exception e)
{
System.out.println( e.toString() );
}
finally
{
try
{
if (in!=null)
{
in.close();
}
}
catch (Exception e)
{
in = null;
}
try
{
if (out!=null)
{
out.close();
}
}
catch (Exception e)
{
out=null;
}
}
}
}
/*
用字节流拷贝的时候,拷贝不了
运行错误:java.io.FileNotFoundException: F:\360data\重要数据\桌面\1234545465465\dayin.java
(系统找不到指定的文件。)
不明白什么意思
*/
|
|