继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【java】Ftp文件操作

慕虎7371278
关注TA
已关注
手记 1259
粉丝 203
获赞 873

File->Project Structure->Modules->Dependencies



点击绿色加号后,找到jar所在路径后点击ok即可完成添加

webp

jar导入

2 主程序

之后即可编写主要逻辑程序,本次的程序意在将ftp的文件剪切至本地,其他复杂操作可以看参考链接中的其他文章:

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.nio.charset.Charset;import java.util.Properties;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPFile;
public class ftp1 {
    public static void main(String args[]) {
        FTPClient ftp=new FTPClient();        try {
            Properties properties = new Properties();            // 使用ClassLoader加载properties配置文件生成对应的输入流
            InputStream in = ftp1.class.getClassLoader().getResourceAsStream("config.properties");            // 使用properties对象加载输入流
            properties.load(in);            //获取key对应的value值
            String hostname=properties.getProperty("hostname");            String port = properties.getProperty("port");            String user=properties.getProperty("user");            String password=properties.getProperty("password");            String srcDir=properties.getProperty("srcDir");            String dstDir=properties.getProperty("dstDir");

            ftp.connect(hostname, Integer.valueOf(port));
            System.out.println(ftp.login(user, password));

            FTPFile[] files = ftp.listFiles(srcDir);            for(FTPFile f:files){                if(!f.isDirectory()){
                    System.out.println(f.getName());
                    ftp.retrieveFile(f.getName(), new FileOutputStream(new File(dstDir+"/"+f.getName())));
                    System.out.println(ftp.dele(srcDir+"/"+f.getName()));
                }
            }
        } catch (IOException e) {            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

为了方便移植,程序采用了配置文件的方式,配置文件名为config.properties,与上述程序文件在同一目录下,采用Properties工具类进行读取,文件中采用a=b的键值对进行书写,完成后在IDE中直接执行程序就达到目的了。

3 导出可执行程序

之后为了方便在IDE之外使用,生成了可执行的jar包,流程为:

File->Project Structure->Artifacts

点击绿色加号后选择

JAR->From modules with dependencies

webp

导出配置


选择主类后点击两次ok回到主页面

webp

选择主类


随后在工具栏选择Build->Build Artifacts,在小栏中点击build即可,生成的jar文件在/out/artifacts中;

通过命令java -jar I04FTP.jar即可运行,此时配置文件不可见,若要修改配置文件可以将jar文件解压后修改配置文件,之后通过java ftp1来运行程序

webp

image.png



作者:Akalin_Lee
链接:https://www.jianshu.com/p/6b3870aef66c


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP