我需要访问本地服务器上的文件,并获取path
以便在File
对象中使用。
我认为我不需要为此目的使用HttpURLConnection
,是吗?
此外,File file = new File(IPAddress)
不起作用。
IPAddress
看起来像smb://192.168.1.xxx
。
file:///192.168.1.xxx
是否适用于IPAddress
?
我无法在互联网上找到解决方案,同时实现访问本地服务器并列出其文件。
那么,如何从本地服务器获取文件paths
以执行File
操作?
修改1:
本地服务器是指我的网络上有一个共享文件夹的计算机。
我正在构建一个应用程序,可以访问该文件夹及其中的内容并对其进行操作。
我在获取该共享文件夹内容的文件路径时遇到问题。
答案 0 :(得分:1)
感谢所有帮助过的人......
我的回答可能有助于某人。
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("", username, password);
// username and password which you use for logging into your Windows PC
SmbFile network;
try {
network = new SmbFile("smb://servername or IPAddress", auth);
for (SmbFile node : network.listFiles()) {
// network path is now contained in 'node'
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (SmbException e) {
e.printStackTrace();
}
您必须在<uses-permission android:name="android.permission.INTERNET" />
标记之前的AndroidManifest.xml中添加
<application>
和
ActivityCompat.requestPermissions(this /*context*/, new String[]{Manifest.permission.INTERNET}, MY_PERMISSIONS);用于在API目标23(Android 6.0)及更高版本上访问Internet。
从here下载jcifs-x.x.xx.jar
SmbFile
和NtlmPasswordAuthentication
班级的Select A.id,
(Select b.date from b,c where b.id=c.id and c.id = E.id and b = 1) as D1,
(Select b.date from b,c where b.id=c.id and c.id = E.id and b = 2) as D2
from
A,E
项目。