用java从网站打开文件

用java从网站打开文件,java,Java,具体来说,我正试图从SharePoint打开一个文件,但它实际上只是一个网站,我有适当的访问权限,所以这不是问题。我试图用java中的桌面api打开它,但它给了我一个错误消息“文件不存在!”桌面是否只在本地工作?如果它确实适用于网站,我做错了什么 然而,基于stephen c建议的新代码仍然不起作用。我错过了什么 public class ParseURL { public static void main(String[] args) throws Exception {

具体来说,我正试图从SharePoint打开一个文件,但它实际上只是一个网站,我有适当的访问权限,所以这不是问题。我试图用java中的桌面api打开它,但它给了我一个错误消息“文件不存在!”桌面是否只在本地工作?如果它确实适用于网站,我做错了什么

然而,基于stephen c建议的新代码仍然不起作用。我错过了什么

public class ParseURL {
        public static void main(String[] args) throws Exception {
            try {
            URL url = new URL("http://wss/is/sites/itsd/network/Remote%20Access/Soft%20Tokens/Your%20new%20RSA%20Soft%20Token%20for%20Android%20-%20INC%20XXXXXXX.oft"); 
            InputStream is = url.openStream(); 
            is.close();
            } catch(IOException err) { 
              }
        }
    }
旧代码

 public static void main(){

        try {

            File oftFile = new File("http://wss/is/sites/itsd/network/Remote%20Access/Soft%20Tokens/Your%20new%20RSA%20Soft%20Token%20for%20Android%20-%20INC%20XXXXXXX.oft
");
            if (oftFile.exists()) {

                if (Desktop.isDesktopSupported()) {
                    Desktop.getDesktop().open(oftFile);
                } else {
                    System.out.println("Awt Desktop is not supported!");
                }

            } else {
                System.out.println("File does not exist!");
            }

            System.out.println("Done");

          } catch (Exception ex) {
            ex.printStackTrace();
          }
    }
    }
尝试使用

这是一个web地址,您需要连接到url并从连接中获得的流中读取内容


请参见此处

文件类用于表示本地/本地装入的文件系统上的文件的名称/路径。您已经给了它一个URL,而不是文件或路径名

您应该使用
URL
URI
类,并试图通过打开连接来读取它

我建议你阅读t



所以我读了教程,但是如何从url打开文件呢?这不仅仅是我试图读取数据,而是我想在outlook中打开oft文件

啊。。。因此,“打开”的意思是“启动一个单独的窗口,其中包含文件的查看器”

在这种情况下,代码是正确的方法,但不能使用
File.exists()
来测试URL是否存在。如果您只有一个“http:”,则需要按照教程中的示例代码尝试使用
URL.openStream()
打开该文件,并将异常解释为告知该文件是否存在。(HTTP 404响应会变成
FileNotFoundException
,但也可能出现其他
IOException
)不要忘记
close()
流,否则代码会泄漏文件描述符


事实上,最好不要尝试测试URL是否存在。只需尝试“打开”它并诊断异常

所以,你能给我一个例子,我将如何使用我的代码,请@jerhynsoen-请参阅我的答案,以获得指向教程的链接,该链接将解释所有内容。因此,我阅读了教程,但如何从url打开文件?不仅仅是我试图读取数据,我还想在outlook中打开oft文件。@jerhynsoen:如果要打开文件,需要在连接头中设置内容类型。这应该能让它起作用。@nrj,能给我举个例子说明我在程序中是如何做到的吗?@stephen我需要看看这个例子,教程。。。实际上非常好,但是如果我没有一个有效的解决方案,出于某种原因,我就很难学习它。@stephen,我使用的是url.openstream(),但它没有打开文件。