可以说,您正在使用LAN将文件从服务器传输到Android(Sdcard).
为此目的,您可以使用两种方法.i)TCP / IP协议. ii)SMB(服务器消息块)协议.
我建议您使用SMB协议,因为在这种情况下,您只需要共享具有完全权限的文件夹并将所有文件复制到Android Sdcard.在这种情况下,在Android端(即客户端),您必须使用四件事. i)服务器的IP地址. ii)服务器密码. iii)服务器的用户名和最后一个iv)共享的文件夹名.
借助这四个参数,您可以建立连接并将所有文件复制到共享文件夹中.
遵循用于使用smb协议进行连接的代码段.
public boolean VerifyUser(String address, String username, String password)
{
try
{
if (address != "" && username != "" && password != "")
{
setDomain(UniAddress.getByName(address));
setAuthentication(new NtlmPasswordAuthentication(null,
username, password));
SmbSession.logon(getDomain(), authentication);
return true;
}
else
{
return false;
}
}
catch (UnknownHostException e)
{
return false;
}
catch (SmbException e)
{
return false;
}
}// End VerifyUser Method.
// *******************************************************************************************************
使用SMB连接将文件从PC服务器下载到Android客户端.其中strPCPath =“ smb://” 192.168.98.23“ /” strFolderName“ / FileName”;打击代码是下载包含.config扩展名的单个文件,您可以将其用于下载多个文件.
public boolean downloadConfigFileFromServer(String strPCPath , String strSdcardPath)
{
SmbFile smbFileToDownload = null;
try
{
File localFilePath = new File(strSdcardPath);
// create sdcard path if not exist.
if (!localFilePath.isDirectory())
{
localFilePath.mkdir();
}
try
{
smbFileToDownload = new SmbFile(strPCPath , authentication);
String smbFileName = smbFileToDownload.getName();
if (smbFileName.toLowerCase().contains(".config"))
{
InputStream inputStream = smbFileToDownload.getInputStream();
//only folder's path of the sdcard and append the file name after.
localFilePath = new File(strSdcardPath+ "/" + smbFileName);
OutputStream out = new FileOutputStream(localFilePath);
byte buf[] = new byte[1024];
int len;
while ((len = inputStream.read(buf)) > 0)
{
out.write(buf, 0, len);
}
out.flush();
out.close();
inputStream.close();
return true;
}
else
return false;
}// End try
catch (Exception e)
{
e.printStackTrace();
return false;
}
}
catch (Exception e)
{
e.printStackTrace();
return false;
}
}// End downloadConfigFileFromServer Method.
// *******************************************************************************************************