如何从网络路径读取文件?

时间:2018-03-13 08:20:50

标签: java

基本解释: 我正在编写一个简单的java实用程序,它将获取xml文件并将其转换为html。所有xml文件都具有相同的结构,需要转换为相同的HTML文件,因此我选择使用BufferedReader和Writer对其进行编码,请参阅下面的代码。

我遇到了以下问题如果我正在使用本地磁盘上的文件,那么没有问题,一切正常,但是当我尝试使用连接共享上的文件时网络磁盘,代码抛出异常。

这是完整代码

存储在项目文件夹中的读取和写入文件工作正常,就像我想要的那样,我只对存储在网络磁盘上的文件有问题。

    public static void main(String[] args) {

    String cestaKsuboruXml = "file.xml"; //workes fine

    //this one throws error
   // String cestaKsuboruXml = "\\172.27.20.38\eDesk\2017\0925\144f7d8d-3786-4858-95ef-bb853c41b713\1_PridelenieCislaPodania.xml"; 

         //class which contains html code
        sablonaJedna sablonaJedna = new sablonaJedna();

        String fileName = null ;

        String line = null;

        StringBuilder text = new StringBuilder();
        StringBuilder subject = new StringBuilder();

        try {

            FileReader fileReader = new FileReader(cestaKsuboruXml);

            BufferedReader bufferedReader =
                    new BufferedReader(new InputStreamReader(new FileInputStream(cestaKsuboruXml), "UTF-8"));

            while ((line = bufferedReader.readLine()) != null) {

                if (line.contains("<subject>")) {
                    subject.append(line);
                }

                if (!line.contains("<GeneralAgenda") && !line.contains("<subject>"))

                {
                    text.append(line);
                }
            }
        } catch (IOException ex) {
            System.out.println("Exception");
        }


        String text2 = text.toString();
        String subject2 = subject.toString();

        subject2 = subject2.replace("<subject>", "");
        subject2 = subject2.replace("</subject>", "");
        text2 = text2.replace("<text>", "");
        text2 = text2.replace("</text>", "");
        text2 = text2.replace("</GeneralAgenda>", "");






        try {
            BufferedWriter writer = new BufferedWriter
                    (new OutputStreamWriter(new FileOutputStream("vvvaa.html", true), "UTF-8"));

            writer.write(sablonaJedna.getSablonaCss() + sablonaJedna.getSablonaHtml() + subject2 +
                    "</span></div><div class=\"clear\"> </div><div><label class=\"labelVis\">Text: </label> <span class=\"contentVis wordwrap\">"
                    + text2 + "</span></div><div class=\"clear\"> </div></div></div></body></html>"
            );

            writer.close();

        } catch (IOException xx) {
            System.out.println("Exception");
        }

}

1 个答案:

答案 0 :(得分:1)

我所要做的只是将其作为来源:

String cestaKsuboruXml = "\\\\172.27.20.38\\eDesk\\2017\\0925\\144f7d8d-3786-4858-95ef-bb853c41b713\\1_PridelenieCislaPodania.xml";

链接开头还有两个反斜杠