android怎样拿到file的路径

android怎样拿到file的路径,第1张

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

具体代码如下:

<php

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, '');

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

>

​PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。

它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,

执行效率比完全生成HTML标记的CGI要高许多;

PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

不知道你说的本地路是服务器上的还是客户上的不过都可以获得 有点乱,自己整理了。呵呵。

<%//上传文件 需要 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文件&nbsp;<b+itemgetName()+</b&nbsp;上传成功!</font;}}}catch(Exception ex){

message = message + <font color=red文件上传失败!</font;}}/%

路径不就是 Form1Dir1path 吗?还需要专门的函数去获取?

如果确实需要函数去获取,可以这样:

Private Function ExtractDirname(PathName As String) As String

Dim s() As String

s = Split(Replace(PathName, "/", "\"), "\")

ReDim Preserve s(UBound(s) - 1)

ExtractDirname = Join(s, "\")

End Function

以上就是关于android怎样拿到file的路径全部的内容,包括:android怎样拿到file的路径、form提交的file文件,php怎么获取到文件的全路径、如何获取表单中file文件域中的路径及文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9608878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存