【发布时间】:2011-10-04 15:44:42
【问题描述】:
如何使用java获取windows pc上文件或目录的网络路径?通常我们可以在windows的共享文件夹属性中看到它。如下所示.....
【问题讨论】:
-
得到它,给定什么 - 输入是什么?
-
@Ed-Staub 我要输入文件路径如“E:\”
标签: java windows file file-sharing file-properties
如何使用java获取windows pc上文件或目录的网络路径?通常我们可以在windows的共享文件夹属性中看到它。如下所示.....
【问题讨论】:
标签: java windows file file-sharing file-properties
使用Java,您可以在Runtime 类的exec 方法中传递net SHARE 命令,然后解析Process 类的输出流以获取您目录的相应网络路径。 net SHARE directory_name 命令的输出如下:
Share name Share
Path C:\Share
Remark
Maximum users No limit
Users
Caching Manual caching of documents
Permission user, FULL
您需要从上述输出中获取 Path 键的值。以下是如何实现此目的的伪代码:
Process process = Runtime.getRuntime().exec("net SHARE directory_name");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringWriter writer = new StringWriter();
String line;
while (null != (line = reader.readLine())) {
writer.write(line);
}
System.out.println(writer.toString());
【讨论】:
要调用的 API 是 WNetEnumResource。您需要使用 JNI 来调用 Windows API。可以在http://public.m-plify.net/sourcecode/ 找到一个示例。
【讨论】: