如何访问android中本地服务器上的文件?

时间:2016-11-19 18:19:06

标签: android android-file

我需要访问本地服务器上的文件,并获取path以便在File对象中使用。

  • 我认为我不需要为此目的使用HttpURLConnection,是吗?

  • 此外,File file = new File(IPAddress)不起作用。
    IPAddress看起来像smb://192.168.1.xxx

  • file:///192.168.1.xxx是否适用于IPAddress

我无法在互联网上找到解决方案,同时实现访问本地服务器并列出其文件。

那么,如何从本地服务器获取文件paths以执行File操作?



修改1:

本地服务器是指我的网络上有一个共享文件夹的计算机。

我正在构建一个应用程序,可以访问该文件夹及其中的内容并对其进行操作。

我在获取该共享文件夹内容的文件路径时遇到问题。

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 SmbFileNtlmPasswordAuthentication班级的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 项目。