![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
JAVA应该怎样复制EXE类型的文件?
我用getChar方法复制后,EXE文件无法执行或执行有错...对,是2楼的意思,但是我复制完,为什么程序是不能运行的呢?字节流输出,但是COPY的时候,用getChar...
我用getChar方法复制后,EXE文件无法执行或执行有错...
对,是2楼的意思,但是我复制完,为什么程序是不能运行的呢?
字节流输出,但是COPY的时候,用getChar读取字符串吗?我的ESLIPS说不建议我用getBytes
再补充一下,我做的是提取邮件中的EXE附件,附件的内容是经过BASE64编码..我要把附件内容提取出来后,再解码,写到一个文件里.现在问题是,我提取的时候用什么方法?写的时候用什么方法... 展开
对,是2楼的意思,但是我复制完,为什么程序是不能运行的呢?
字节流输出,但是COPY的时候,用getChar读取字符串吗?我的ESLIPS说不建议我用getBytes
再补充一下,我做的是提取邮件中的EXE附件,附件的内容是经过BASE64编码..我要把附件内容提取出来后,再解码,写到一个文件里.现在问题是,我提取的时候用什么方法?写的时候用什么方法... 展开
4个回答
展开全部
下面的代码能把c:/1/下的所有exe文件移到c:/2/下
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class MoveEXE {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
File f = new File("c:/1/");
File[] fArray = f.listFiles();
for(int i=0; i<fArray.length; i++) {
if(fArray[i].getName().matches(".*\\.[eE][xX][eE]$")) {
System.out.println(fArray[i].getName());
try {
FileInputStream is = new FileInputStream(fArray[i]);
byte[] b = new byte[(int)fArray[i].length()];
is.read(b);
FileOutputStream os = new FileOutputStream("c:/2/" + fArray[i].getName());
os.write(b);
os.close();
is.close();
fArray[i].delete();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class MoveEXE {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
File f = new File("c:/1/");
File[] fArray = f.listFiles();
for(int i=0; i<fArray.length; i++) {
if(fArray[i].getName().matches(".*\\.[eE][xX][eE]$")) {
System.out.println(fArray[i].getName());
try {
FileInputStream is = new FileInputStream(fArray[i]);
byte[] b = new byte[(int)fArray[i].length()];
is.read(b);
FileOutputStream os = new FileOutputStream("c:/2/" + fArray[i].getName());
os.write(b);
os.close();
is.close();
fArray[i].delete();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用字节流复制吧,
FileInputStream FileOutputStream
试试看 用字节流应该可以的
FileInputStream FileOutputStream
试试看 用字节流应该可以的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
复制?用代码实现文件的复制??
用文件输入输出java.io.* 逐字节字节的读取和写入..
是这意思不 ?
用文件输入输出java.io.* 逐字节字节的读取和写入..
是这意思不 ?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接复制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询