javaftp目录是否存在
① java的ftp上传和下载怎么判断文件夹是否存在,不存在就创建...
if(!file.exist)
{
file.mdr();
}
② java 如何判断ftp文件存不存在
是可以这样判断
但是 你要注意的是 你的程序有可能和FTP不再同一台服务器上
所以 你要多做一些工作 你先要根据获取FTP的IP
根据这个IP的FTP目录 在进行判断
③ 你好: 我也在做这个E语言,我们的服务器是linux的,用Java去查找FTP上的指定E文件是否存在,可是取过来的
我的情况是把文件上传到ftp服务器时,发现ftp服务器文件名称乱码,所以我就对文件名编码,
当然你可以根据自己的情况写转换方法:
boolean b = ftpClient.storeFile(GBKToiso8859(filename), input);
/**
* 转码[GBK -> iso-8859-1] 不同的平台需要不同的转码
*
* @param obj
* @return
*/
private String GBKToiso8859(Object obj) {
try {
if (obj == null)
return "";
else
return new String(obj.toString().getBytes("GBK"), "iso-8859-1");
} catch (Exception e) {
return "";
}
}
④ java 怎么查看ftp目录是否存在
ftpClient.makeDirectory(目录地址); 返回结果true或false
返回true证明创建成功,即在执行创建命令前ftp上不存在此目录
返回false证明创建失败,即ftp上已存在此目录
⑤ JAVA当中如何在FTP上查找文件或目录是否存在
我觉得用file的exists就可以
File f=new File("file url");
if(f.exists()){
System.out.println("exists");
}
else{
System.out.println("not exist");
}
⑥ java 在ftp上的所有文件查询文件是否存在
packagetest;
importjava.io.DataInputStream;
importsun.net.ftp.FtpClient;
publicclassFtpDown1{
publicstaticvoidmain(Stringargs[])throwsException{
Stringhost="ip地址";
Stringpath="";
Stringusername="用户名";
Stringpassword="密码";
FtpClientclient=newFtpClient(host);
client.login(username,password);
client.binary();
client.cd("/目录名称");//如果是根目录下直接写个/就行了,或者不写
DataInputStreamdis=newDataInputStream(client.nameList("test_*.xml"));
intreadCount;
Strings="";
while((s=dis.readLine())!=null){
//在此处判断是否存在对应的文件
System.out.println("Getting:"+s);
}
}
}
⑦ 请问一下,java中有没直接判断ftp上文件夹下是否存在某文件的方法通过遍历文件夹的方式判断太耗内存了
第一个种方法 :
org.apache.commons.net.ftp.* 看这个目录下是否有你要的方法
第二种方法:
package com.soft4j.log4j;
import java.io.IOException;
import sun.net.ftp.FtpClient;
public class FtpTest
{
static String middle_ftpServer = "10.103.2.250";
static String middle_user = "ora9iftp";
static String middle_password = "ftp";
static String middle_dir = "/image/NWKPHOTO/Middle/2009/3";
public static void main(String[] args)
{
FtpClient ftpClient = new FtpClient();
try
{
ftpClient.openServer(middle_ftpServer);
ftpClient.login(middle_user, middle_password);
FtpTest ft = new FtpTest();
ft.isDirExist(ftpClient, middle_dir);
} catch (IOException e)
{
e.printStackTrace();
}
}
/** 判断Ftp目录是否存在,如果不存在则创建目录 */
public void isDirExist(FtpClient ftpClient, String dir)
{
try
{
ftpClient.cd(dir); //想不到什么好办法来判断目录是否存在,只能用异常了(比较笨).请知道的告诉我一声`
} catch (IOException e1)
{
ftpClient.sendServer("MKD " + dir + "\r\n");
try
{
ftpClient.readServerResponse();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
}
⑧ 如何java判断ftp服务器上路径是否存在
要注意的是程序有可能和FTP不再同一台服务器上,所以要多做一些工作,先要根据获取FTP的IP,根据这个IP的FTP目录在进行判断
代码如下
=======接口部分===============
IMPORT JAVA.RMI.REMOTE;
IMPORT JAVA.RMI.REMOTEEXCEPTION;
PUBLIC INTERFACE IDOREMOTE EXTENDS REMOTE {
PUBLIC INT GETSERVERTIME() THROWS REMOTEEXCEPTION;
}
=======接口实现===============
PUBLIC CLASS DOREMOTEIMPL EXTENDS UNICASTREMOTEOBJECT IMPLEMENTS IDOREMOTE {
/**
* @THROWS REMOTEEXCEPTION
*/
PROTECTED DOREMOTEIMPL() THROWS REMOTEEXCEPTION {
SUPER();
}
PRIVATE STATIC FINAL LONG SERIALVERSIONUID = -8158779541912069375L;
/**
* @SEE CN.SHIY.TEST.REMOTESERVER.IDOREMOTE#GETSERVERTIME()
*/
PUBLIC INT GETSERVERTIME() THROWS REMOTEEXCEPTION {
RETURN INTEGER.PARSEINT(NEW SIMPLEDATEFORMAT("YYYYMMDD").FORMAT(NEW DATE()));
// RETURN NEW DATE();
}
========SERVER端绑定===============
PUBLIC STATIC VOID MAIN(STRING[] ARGS) {
TRY {
LOCATEREGISTRY.CREATEREGISTRY(8808);
DOREMOTEIMPL SERVER = NEW DOREMOTEIMPL();
NAMING.REBIND("//LOCALHOST:8808/DATE-SERVER", SERVER);
} CATCH (JAVA.NET.MALFORMEDURLEXCEPTION ME) {
SYSTEM.OUT.PRINTLN("MALFORMED URL: " + ME.TOSTRING());
} CATCH (REMOTEEXCEPTION RE) {
SYSTEM.OUT.PRINTLN("REMOTE EXCEPTION: " + RE.TOSTRING());
}
}
===========客户端的调用方式============
STRING URL = "//LOCALHOST:8808/DATE-SERVER";
IDOREMOTE RMIOBJECT = (IDOREMOTE) NAMING.LOOKUP(URL);
SYSTEM.OUT.PRINTLN(" SERVER DATE: " + RMIOBJECT.GETSERVERTIME());