亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

servlet路徑問題

servlet路徑問題

九州編程 2019-05-23 11:29:50
代碼一:packagecom.main.service;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importorg.dom4j.Document;importorg.dom4j.DocumentException;importorg.dom4j.Element;importorg.dom4j.io.SAXReader;importjava.io.PrintWriter;publicclassReadData{publicstaticvoidmain(String[]args){try{testSaxReader("person");System.out.println("---------");testSaxReader("隸屬度");}catch(Exceptione){e.printStackTrace();}}publicstaticvoidtestSaxReader(Stringitem)throwsDocumentException,FileNotFoundException{SAXReadersaxReader=newSAXReader();System.out.println("工程路徑:"+System.getProperty("user.dir"));//問題所在FileInputStreamfile=newFileInputStream("src/0625.xml");Documentdoc=saxReader.read(file);Elementmenu=doc.getRootElement();System.out.println(menu.getName());org.dom4j.Nodeperson=menu.selectSingleNode("/Menu//Item[@Title='"+item+"']");StringnodeValue=person.getText();System.out.println(nodeValue);Filefp=newFile("./data/"+item+".txt");PrintWriterpfp=newPrintWriter(fp);pfp.print(nodeValue);pfp.close();}}代碼一有main方法,System.out.println("工程路徑:"+System.getProperty("user.dir"));打印出來的結果是工程路徑:E:\workspace\outer\javaConnectR,是我項目的路徑。代碼二:packagecom.main.service;importjava.awt.Graphics;importjava.awt.GraphicsConfiguration;importjava.awt.GraphicsDevice;importjava.awt.GraphicsEnvironment;importjava.awt.HeadlessException;importjava.awt.Image;importjava.awt.MediaTracker;importjava.awt.Toolkit;importjava.awt.Transparency;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjavax.imageio.ImageIO;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importorg.rosuda.REngine.REXP;importorg.rosuda.REngine.Rserve.RConnection;importcom.main.util.Rservel;publicclassExecuteextendsJFrame{privatestaticfinallongserialVersionUID=1L;staticImageimg;publicREXPgetRobj()throwsException{System.out.println("getRobj()");RConnectionc=Rservel.getRConnection();c.eval("library(RColorBrewer)");c.eval("H
查看完整描述

2 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

user.dir指向的是你啟動JVM的地方,你可以看看這里
代碼一是你從工程路徑下啟動的,但是代碼二你的Servlet是被容器(Tomcat等等)加載進JVM的,而此時user.dir指的是這些容器的路徑,這方面你需要了解一下容器是怎樣運行的。
你要分清楚:開發環境、上線環境。
你在E:\workspace\outer\javaConnectR寫代碼,這是開發環境,但是當你打包成.war時,它會被容器解壓到一個目錄,比如你代碼二中輸出的E:\workspace\...\wtpwebapps\javaConnectR\,此時它無論如何也不可能按你所想去讀到開發時的路徑,因為代碼二實際運行的時候文件已經不在你開發的路徑上了。
                            
查看完整回答
反對 回復 2019-05-23
  • 2 回答
  • 0 關注
  • 269 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號