📄 copath.java
字号:
void jButton4_actionPerformed(ActionEvent e) {
//下载ftp文件到本地目录
if(jTree1.isSelectionEmpty()){
//如果没有选择目录和文件提示用户
jTextArea1.append("没有选择本地目录用于下载!!\n");
}else{
File file1=new File(conPath());
if(file1.isFile()){
//如果是文件也要提示用户选择的是文件
jTextArea1.append("没有选择本地目录用于下 载"+jTree1.getSelectionPath().getLastPathComponent().toString()+"\n");
jTextArea1.append("而选择的是文件:"+conPath()+"\n");
}else{
//下载文件到指定的目录里
jTextArea1.append("选择的下载本地目录"+jTree1.getSelectionPath().getLastPathComponent().toString()+"\n");
jTextArea1.append("目录:"+conPath()+"\n");
//可以选择多个文件和目录
String [] filenames=list1.getSelectedItems();
for(int i=0;i<filenames.length;i++){
String filename=filenames[i];
boolean isfile=false;
try {
//判断是否为目录,如果是目录则在本地创建一个目录
ftp.cd(filename);
ftp.cdUp();
File localDir = new File(conPath()+"\\"+filename) ;
localDir.mkdir();
}
catch (IOException ex) {
isfile=true;
}
if(isfile){
//对文件的处理,即下载文件到本地硬盘中(但下载的文件大小都是0 KB,不知道问题出在哪里)
int ch;
try{
File localFile = new File(conPath()+"\\"+filename) ;
RandomAccessFile getFile = new RandomAccessFile((conPath()+"\\"+filename),"rw");
getFile.seek(0);
TelnetInputStream ins = ftp.get(filename);
DataInputStream Inputs = new DataInputStream(ins);
//下载处理......
while ((ch = Inputs.read()) >= 0) {
getFile.write(ch);
}
//处理完成,关闭输入输出流
ins.close();
getFile.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -