你没有理解项目和程序的区别。
实际运行的程序是没有所谓项目的概念的(不可能把源代码也复制过去吧?!),也就是说,你的应用程序运行时的目录下一开始是不会自动地产生ClientPhoto这个文件夹的(除非你在项目里将这个文件夹中的文件设置为“复制到输出目录”。)
所以你要做的,第一件事就是先获取应用程序的路径,然后判断这个路径下的目录存在不存在,如果不存在,要首先创建一个。
我们知道“ClientPhoto”其实只是一个相对路径而已,要获得绝对路径,首先要知道应用程序当前的绝对路径:只需要检索SystemWindowsFormsApplicationStartupPath这个属性即可。
string path = SystemWindowsFormsApplicationStartupPath;然后将应用程序当前路径path和字符串“ClientPhoto”组合成为一个完整的文件夹绝对路径folder(这时候就是绝对路径了,但是,还没完!)。
string folder = SystemIOPathCombine(path, "ClientPhoto");接着判断 folder 指定的文件夹是否存在。
bool folderExists = SystemIODirectoryExists(folder);如果文件夹不存在,则创建它。如果创建不了,会引发异常,请自行捕捉这个异常。
if(!folderExists){
SystemIODirectoryCreateDirectory(folder);
}
最后才返回路径 folder。
完整代码:
private string GetFolderPath(){
string folder = PathCombine(ApplicationStartupPath, "ClientPhoto");
if(!DirectoryExists(folder))
{
DirectoryCreateDirectory(folder);
}
return folder;
}
html通过file获取文件路径方法:
File f = new File(thisgetClass()getResource("/")getPath());
Systemoutprintln(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
获取当前类的所在工程路径;
如果不加“/”
File f = new File(thisgetClass()getResource("")getPath());
Systemoutprintln(f);
结果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test
获取当前类的绝对路径;
html5
html5是指万维网的核心语言、 标准通用标记语言下的一个应用 超文本标记语言( HTML)的第五次重大修改(这是一项推荐标准、外语原文: W3C Recommendation、见本处 参考资料原文内容: )2014年10月29日, 万维网联盟宣布,经过接近8年的艰苦努力,该标准规范终于制定完成。
HTML5的设计目的是为了在移动设备上支持多媒体。新的语法特征被引进以支持这一点,如video、audio和canvas 标记。HTML5还引进了新的功能,可以真正改变用户与文档的交互方式,包括新的解析规则增强了灵活性、新属性、淘汰过时的或冗余的属性等。
标准通用标记语言下的一个应用 HTML标准自1999年12月发布的HTML401后,后继的HTML5和其它标准被束之高阁,为了推动Web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group (Web 超文本应用技术工作组 - WHATWG) 的组织。WHATWG 致力于 Web 表单和应用程序,而 W3C(World Wide Web Consortium, 万维网联盟) 专注于 XHTML20。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。
HTML5草案的前身名为 Web Applications 10,于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的 HTML 工作团队。
使用以下方式,如果获取不到,那么说明你的服务器原本就不在E:盘,那么建议你使用绝对路径来解决这个问题,直接定义路径,而不要获取路径。 使用<%=requestgetRealPath("")%>即可得到根目录,必须调用以下几个包:<%@ page import="javautil" %>
<%@ page import="javaxservlet>
File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如filegetAbsolutePath()其中file是File的实例对象。下面是一个具体例子:
public class PathTest{
public static void main(String[] args)
{
File file = new File("\\src\\baidu");
Systemoutprintln(filegetAbsolutePath());
try
{
Systemoutprintln(filegetCanonicalPath());
} catch (IOException e)
{
eprintStackTrace();
}
}
}
getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录。例如在上面的例子中(点号)代表当前目录。getCanonicalPath()就会把它解析为当前目录但是getAbsolutePath()会把它解析成为目录名字(目录名字是点号)。
下面是上面程序在我电脑上的输出:
G:\xhuoj\konw\\src\baidu
G:\xhuoj\konw\src\baidu
以上就是关于javaweb中怎么获取文件的绝对路径全部的内容,包括:javaweb中怎么获取文件的绝对路径、java 项目如何获取项目所在的物理根路径、C#怎样获取项目的debug路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)