我想进行文件的拷贝,但是我写的代码却出了问题,也不知道出在那里?
帮我调试下代码 谢谢拉import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Filecopy
{
/**
* 可以进行文件或者目录的拷贝
* @param src 是源文件或目录
* @param obj 是目标文件或目录
* @author Max
* @throws IOException
*/
public static void filecopy(File src,File obj) throws IOException
{
if(src.isFile())
{
int b=0;
File fileobj = new File(
obj.getAbsolutePath()+"\\"+src.getName());
BufferedInputStream in = new BufferedInputStream(
new FileInputStream(fileobj));
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(src));
while((b = in.read())!=-1)
{
out.write(b);
}
out.flush();
in.close();
out.close();
}
else
{
File fileobjmirk = new File(obj.getAbsolutePath() +"\\"+src.getName());
fileobjmirk.mkdirs();
File[] file = src.listFiles();
for(int i=0;i<file.length;i++)
{
filecopy(fileobjmirk,file[i]);
}
}
}
public static void main(String[] args)
{
File fileobj = new File("f:\\filecopy");
if(!fileobj.exists())
{
try
{
fileobj.createNewFile();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
File filesrc = new File("f:\\src");
try
{
filecopy(filesrc,fileobj);
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
帮我调试下代码 谢谢拉import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Filecopy
{
/**
* 可以进行文件或者目录的拷贝
* @param src 是源文件或目录
* @param obj 是目标文件或目录
* @author Max
* @throws IOException
*/
public static void filecopy(File src,File obj) throws IOException
{
if(src.isFile())
{
int b=0;
File fileobj = new File(
obj.getAbsolutePath()+"\\"+src.getName());
BufferedInputStream in = new BufferedInputStream(
new FileInputStream(fileobj));
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(src));
while((b = in.read())!=-1)
{
out.write(b);
}
out.flush();
in.close();
out.close();
}
else
{
File fileobjmirk = new File(obj.getAbsolutePath() +"\\"+src.getName());
fileobjmirk.mkdirs();
File[] file = src.listFiles();
for(int i=0;i<file.length;i++)
{
filecopy(fileobjmirk,file[i]);
}
}
}
public static void main(String[] args)
{
File fileobj = new File("f:\\filecopy");
if(!fileobj.exists())
{
try
{
fileobj.createNewFile();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
File filesrc = new File("f:\\src");
try
{
filecopy(filesrc,fileobj);
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
解决方案 »
- 7进制转10进制
- bean:include的jsp文字长度超过8K就IOException,哪位指点一下
- 请教一个关于JTable的问题,迫切需要,还望前辈指教
- 用jcreator输入中文经常会出现GBK映射错误
- Application怎么样调用Applet????
- java中主方法的参数作用是什么
- 讨论:数据并发处理的问题!
- TO:绿色咖啡(没有分了,见谅!)
- 请问大家一个低级的问题:在windows里显示对话框的函数是AfxMessageBox("OK"),在纯java里怎么用,还要引用什么包吗?
- 怎样获得一个路径下的所有的文件名和文件夹名?
- 困扰我两天了!有关ObjectOutputStream,ObjectInputStream的问题
- 求解,谢了
给出两个方法,楼主看着自己改改:) public static void copy(String inFile, String outFile)
throws IOException { FileInputStream fin = null;
FileOutputStream fout = null;
try {
fin = new FileInputStream(inFile);
fout = new FileOutputStream(outFile);
StreamCopier.copy(fin, fout);
}
finally {
try {
if (fin != null) fin.close();
}
catch (IOException ex) {
}
try {
if (fout != null) fout.close();
}
catch (IOException ex) { }
}
}
public static void copy(InputStream in, OutputStream out)
throws IOException {
byte[] buffer = new byte[1024];
while (true) {
int bytesRead = in.read(buffer);
if (bytesRead == -1) break;
out.write(buffer, 0, bytesRead);
}
}
------------------------
public void appendFile(String fromfile , String tofile)
{
File from = new File(fromfile);
File to = new File(tofile);
BufferedReader br = null;
FileWriter fw = null;
PrintWriter out = null; try
{
br = new BufferedReader(new FileReader(from) ) ;
fw = new FileWriter(to, true);
out = new PrintWriter(fw);
String line = null;
while( ( line = br.readLine() ) != null )
{
out.println(line);
}
}catch (IOException e)
{
System.out.println("=== in VbaExcel 写入文件出错 ");
}finally
{
close(out); //调用关闭方法
close(fw);//调用关闭方法
close(br);//调用关闭方法
}
}
------------------------