
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 工作团队。
Environment 常用方法:
方法:getDataDirectory()
解释:返回 File ,获取 Android
数据目录。
方法:getDownloadCacheDirectory()
解释:返回 File ,获取 Android
下载/缓存内容目录。
方法:getExternalStorageDirectory()
解释:返回 File ,获取外部存储目录即
SDCard
方法:getExternalStoragePublicDirectory(String type)
解释:返回 File
,取一个高端的公用的外部存储器目录来摆放某些类型的文件
方法:getExternalStorageState()
解释:返回 File
,获取外部存储设备的当前状态
方法:getRootDirectory()
解释:返回 File ,获取 Android 的根目录
file的getPath getAbsolutePath和getCanonicalPath的不同
File的这三个方法在api中都有说明,仅以程序为例说明。
package test;
import
javaioFile;
import javaioIOException;
public class TestFilePath
{
public static void main(String[] args) {
// TODO Auto-generated
methodstub
Systemoutprintln(SystemgetProperty("userdir"));
try
{
Systemoutprintln("-----默认相对路径:取得路径不同------");
File file1 =new
File("\\src\\test1txt");
Systemoutprintln(file1getPath());
Systemoutprintln(file1getAbsolutePath());
Systemoutprintln(file1getCanonicalPath());
Systemoutprintln("-----默认相对路径:取得路径不同------");
File
file =new
File("\\test1txt");
Systemoutprintln(filegetPath());
Systemoutprintln(filegetAbsolutePath());
Systemoutprintln(filegetCanonicalPath());
Systemoutprintln("-----默认绝对路径:取得路径相同------");
File
file2 =new
File("D:\\workspace\\test\\test1txt");
Systemoutprintln(file2getPath());
Systemoutprintln(file2getAbsolutePath());
Systemoutprintln(file2getCanonicalPath());
}
catch (IOException e) {
// TODOAuto-generated catch
block
eprintStackTrace();
}
}
}
程序执行结果如下:
F:\eclipseworkspace\testejb
-----默认相对路径:取得路径不同------
\src\test1txt
F:\eclipseworkspace\testejb\\src\test1txt
F:\eclipseworkspace\src\test1txt
-----默认相对路径:取得路径不同------
\test1txt
F:\eclipseworkspace\testejb\\test1txt
F:\eclipseworkspace\testejb\test1txt
-----默认绝对路径:取得路径相同------
D:\workspace\test\test1txt
D:\workspace\test\test1txt
D:\workspace\test\test1txt
结论:
当输入为绝对路径时,返回的都是绝对路径。
当输入为相对路径时:
getPath()返回的是File构造方法里的路径,是什么就是什么,不增不减
getAbsolutePath()返回的其实是userdir+getPath()的内容,从上面F:\eclipseworkspace\testejb、F:\eclipseworkspace\testejb\\src\test1txt、F:\eclipseworkspace\testejb\\test1txt可以得出。
getCanonicalPath()返回的就是标准的将符号完全解析的路径
public String
getAbsolutePath()返回抽象路径名的绝对路径名字符串。
如果此抽象路径名已经是绝对路径名,则返回该路径名字符串,这与 getPath()
方法一样。如果此抽象路径名是空的抽象路径名,则返回当前用户目录的路径名字符串,该目录由系统属性 userdir
指定。否则,使用与系统有关的方式分析此路径名。在 UNIX 系统上,通过根据当前用户目录分析某一相对路径名,可使该路径名成为绝对路径名。在 Microsoft
Windows
系统上,通过由路径名指定的当前驱动器目录(如果有)来分析某一相对路径名,可使该路径名成为绝对路径名;否则,可以根据当前用户目录来分析它。
返回:
绝对路径名字符串,它与此抽象路径名表示相同的文件或目录的
抛出:
SecurityException
- 如果无法访问所需的系统属性值。
另请参见:
isAbsolute()
public String getCanonicalPath()
throws
IOException返回抽象路径名的规范路径名字符串。
规范路径名是绝对路径名,并且是惟一的。规范路径名的准确定义与系统有关。如有必要,此方法首先将路径名转换成绝对路径名,这与调用
getAbsolutePath() 方法的效果一样,然后用与系统相关的方式将它映射到其惟一路径名。这通常涉及到从路径名中移除多余的名称(比如 "" 和
"")、分析符号连接(对于 UNIX 平台),以及将驱动器名转换成标准大小写形式(对于 Microsoft Windows
平台)。
表示现有文件或目录的每个路径名都有一个惟一的规范形式。表示非存在文件或目录的每个路径名也有一个惟一的规范形式。非存在文件或目录路径名的规范形式可能不同于创建文件或目录之后同一路径名的规范形式。同样,现有文件或目录路径名的规范形式可能不同于删除文件或目录之后同一路径名的规范形式。
返回:
表示与此抽象路径名相同的文件或目录的规范路径名字符串
抛出:
IOException
- 如果发生 I/O 错误(可能是因为构造规范路径名需要进行文件系统查询)
SecurityException -
如果无法访问所需的系统属性值,或者存在安全管理器,且其 SecurityManagercheckRead(javaioFileDescriptor)
方法拒绝对该文件进行读取访问
从以下版本开始:
JDK11
不知道你说的本地路是服务器上的还是客户上的不过都可以获得 有点乱,自己整理了。呵呵。
<%//上传文件 需要 common-fileupload 组件/String up = requestgetParameter(up);
if(up!=null&&upequals(true)){try{String temp = c:\\; //临时目录
String strUp = requestgetParameter(path); //上传目标地址
if(strUp!=null&&!strUpequals()){
strUp = new String(strUpgetBytes(ISO-8859-1), GB2312);}DiskFileUpload fu = new DiskFileUpload();
fusetSizeMax(102410241024); // 设置允许用户上传文件大小,单位:字节
fusetSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:字节
fusetRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
//开始读取上传信息
List fileItems = fuparseRequest(request);
Iterator iter = fileItemsiterator(); // 依次处理每个上传的文件
while(iterhasNext()) {
FileItem item = (FileItem) iternext();// 忽略其他不是文件域的所有表单信息
if(!itemisFormField()){
String name = itemgetName(); //获取上传文件名,包括路径
name = namesubstring(namelastIndexOf(\\)+1);//从全路径中提取文件名
long size = itemgetSize();
if((name==null||nameequals()) && size==0)continue;Systemoutprintln(userIp+:上传文件:+name+到+strUp);//输出上传文件信息
File fNew= new File(strUp, name);
itemwrite(fNew);
message = message + <font color=blue文件 <b+itemgetName()+</b 上传成功!</font;}}}catch(Exception ex){
message = message + <font color=red文件上传失败!</font;}}/%
fileupload 获取选中文件的绝对路径,实现参考如下:
protected void BtnUp_Click(object sender, EventArgs e)
{
if (FileUploadHasFile)
{
string savePath = ServerMapPath("~/upload/");//指定上传文件在服务器上的保存路径
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!SystemIODirectoryExists(savePath))
{
SystemIODirectoryCreateDirectory(savePath);
}
savePath = savePath + "\\" + FileUploadFileName;
FileUploadSaveAs(savePath);
LabMsgText = stringFormat("<a href='upload/{0}'>upload/{0}</a>", FileUploadFileName);
}
else
{
LabMsgText = "没有选择文件!";
}
}
file控件用于上传文件,受到文件的是服务器,服务器会把收到的文件暂存到设定好的位置,你可以得到这个位置的路径和文件名
文件本地的路径和文件名对于服务器来说,没有意义,所以不会传
如果你真想要这个文件路径,用JS做个隐藏控件,把这个input的value值得到,传到后台去,就是你要的
以上就是关于HTML5如何获取文件路径全部的内容,包括:HTML5如何获取文件路径、android怎样拿到file的路径、如何获取表单中file文件域中的路径及文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)