getParentFile()的作用

getParentFile()的作用,第1张

getParentFile()的作用是返回此抽象路复径名父目录的抽象路径名。抽象路径名的父路径名由路径名的前缀(如果有)以及路径名的名称序列中最后一个名称以外的所有名称组成。输出的路径是根据创建制的File对象时输入的路径而解析出来的,百如果此路径名没有指定父目录,则返回null。

扩展资料:

路径名:在树形结构目录中,从根目录到任意数据文件都只有一条唯一的通百路。在该路径上,从树的根目录开始,把全部目录文件名与数据文件名一次用“/”连度接起来,即构成该数据文件唯一的路径知名。

假设用户B访问F盘下的文件J,路径名为/ B/F/J

当前目录:当一个文件系统有多级时,每访问一个文件,都要使用道从树根开始,直到数据文件为止,是相当麻烦的事,可版为每个进程设置一个“当前目录“,又称“工作目录“。

假设用户B的当前目录是F,则此时文件J的相对路径权名仅是J本身。

find /目录1 -name 'jar' -exec jar -xvf {} /目录2 \;

find /目录2/ -name 'class' -exec cp {} /目录3 \;

目录1是要查找的目录,目录2是临时存放解压文件的目录,目录3是要放文件的目录,之后如果不要目录2的再rm -rf /目录2 就搞定了

1,Class类有什么用?

Class类的实例表示java应用运行时的类(Class ans enum)或接口(interface and annotation)(每个java类运行时都在JVM里表现为一个Class对象,可通过类名Class,类型getClass(),ClassforName("类名")等方法获取Class对象)。数组同样也被映射为为Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本类型boolean,byte,char,short,int,long,float,double和关键字void同样表现为 Class对象。

2,Class类的特征

Class类没有公有的构造方法,它由JVM自动调用(在new对象或者加载-ClassLoader时)。

下面的方法作用是打印出对象的Class name:

void printClassName(Object obj) {

Systemoutprintln("The Class of " + obj + " is " + objgetClass()getName());

}

同样可以根据Class literal 获得Class name:

Systemoutprintln("The name of Class Foo is: "+FooClassgetName());//你可以将Foo改为void尝试下。

3,Class的用法示例

如我们定义一个类:

public Class Test{

//Constructor

public Test(){this("");}

public Test(String name){}

//Field

public int id;

public String name;

//Method

public void testMethod(){

}

}

我们可以:

Class c = ClassforName("Test");

Method m[] = cgetDeclaredMethods();

for (int i = 0; i < mlength; i++)

Systemoutprintln(m[i]toString());//输出testMethod

}

Constructor c[] = clsgetDeclaredConstructors();

for (int i = 0; i < clength; i++) {

Constructor ct = c[i];

Systemoutprintln("name = " + ctgetName());//输出两个构造函数信息

public String getName()

返回由此抽象路径名表示的文件或目录的名称。该名称是路径名名称序列中的最后一个名称。如果路径名名称序列为空,则返回空字符串。

返回:

此抽象路径名表示的文件或目录的名称;如果路径名的名称序列为空,则返回空字符串

FileUpload控件

FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器。用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles\TestFiletxt)来指定要上载的文件。用户也可以通过单击“浏览”按钮,然后在“选择文件”对话框中定位文件来选择文件。

用户选择要上载的文件后,FileUpload 控件不会自动将该文件保存到服务器。您必须显式提供一个控件或机制,使用户能提交指定的文件。例如,可以提供一个按钮,用户单击它即可上载文件。为保存指定文件所写的代码应调用 SaveAs 方法,该方法将文件内容保存到服务器上的指定路径。通常,在引发回发到服务器的事件的事件处理方法中调用 SaveAs 方法。

在文件上传的过程中,文件数据作为页面请求的一部分,上传并缓存到服务器的内存中,然后再写入服务器的物理硬盘中。

有三个方面需要注意:

1确认是否包含文件

在调用 SaveAs 方法将文件保存到服务器之前,使用 HasFile 属性来验证 FileUpload 控件确实包含文件。若 HasFile 返回 true,则调用 SaveAs 方法。如果它返回 false,则向用户显示消息,指示控件不包含文件。不要通过检查PostedFile 属性来确定要上载的文件是否存在,因为默认情况下该属性包含 0 字节。因此,即使 FileUpload 控件为空,PostedFile 属性仍返回一个非空值。

2文件上传大小限制

默认情况下,上传文件大小限制为 4096 KB (4 MB)。可以通过设置 >

最常用读取properties文件的方法

InputStream in = getClass()getResourceAsStream("资源Name");这种方式要求properties文件和当前类在同一文件夹下面。如果在不同的包中,必须使用:

InputStream ins = thisgetClass()getResourceAsStream("/cn/zhao/properties/testPropertiesPath2properties");

Java中获取路径方法

获取路径的一个简单实现

反射方式获取properties文件的三种方式

1 反射方式获取properties文件最常用方法以及思考:

Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过javalangClass类的getResourceAsStream(String name) 方法来实现,但我见到众多读取properties文件的代码中,都会这么干:

InputStream in = getClass()getResourceAsStream("资源Name");

这里面有个问题,就是getClass()调用的时候默认省略了this!我们都知道,this是不能在static(静态)方法或者static块中使用的,原因是static类型的方法或者代码块是属于类本身的,不属于某个对象,而this本身就代表当前对象,而静态方法或者块调用的时候是不用初始化对象的。

问题是:假如我不想让某个类有对象,那么我会将此类的默认构造方法设为私有,当然也不会写别的共有的构造方法。并且我这个类是工具类,都是静态的方法和变量,我要在静态块或者静态方法中获取properties文件,这个方法就行不通了。

那怎么办呢?其实这个类就不是这么用的,他仅仅是需要获取一个Class对象就可以了,那还不容易啊--

取所有类的父类Object,用Objectclass难道不比你的用你正在写类自身方便安全吗 ?呵呵,下面给出一个例子,以方便交流。

import javautilProperties;

import javaioInputStream;

import javaioIOException;

/

读取Properties文件的例子

File: TestPropertiesjava

User: leizhimin

Date: 2008-2-15 18:38:40

/

public final class TestProperties {

private static String param1;

private static String param2;

static {

Properties prop = new Properties();

InputStream in = Object class getResourceAsStream( "/testproperties" );

try {

propload(in);

param1 = propgetProperty( "initYears1" )trim();

param2 = propgetProperty( "initYears2" )trim();

} catch (IOException e) {

eprintStackTrace();

}

}

/

私有构造方法,不需要创建对象

/

private TestProperties() {

}

public static String getParam1() {

return param1;

}

public static String getParam2() {

return param2;

}

public static void main(String args[]){

Systemoutprintln(getParam1());

Systemoutprintln(getParam2());

}

}

运行结果:

151

152

当然,把Objectclass换成intclass照样行,呵呵,大家可以试试。

另外,如果是static方法或块中读取Properties文件,还有一种最保险的方法,就是这个类的本身名字来直接获取Class对象,比如本例中可写成TestPropertiesclass,这样做是最保险的方法

2 获取路径的方式:

File fileB = new File( this getClass()getResource( "" )getPath());

System out println( "fileB path: " + fileB);

22获取当前类所在的工程名:

System out println("userdir path: " + System getProperty ("userdir"))<span style="background-color: white;">3 获取路径的一个简单的Java实现</span>

/

获取项目的相对路径下文件的绝对路径

@param parentDir

目标文件的父目录,例如说,工程的目录下,有lib与bin和conf目录,那么程序运行于lib or

bin,那么需要的配置文件却是conf里面,则需要找到该配置文件的绝对路径

@param fileName

文件名

@return一个绝对路径

/

public static String getPath(String parentDir, String fileName) {

String path = null;

String userdir = SystemgetProperty("userdir");

String userdirName = new File(userdir)getName();

if (userdirNameequalsIgnoreCase("lib")

|| userdirNameequalsIgnoreCase("bin")) {

File newf = new File(userdir);

File newp = new File(newfgetParent());

if (fileNametrim()equals("")) {

path = newpgetPath() + Fileseparator + parentDir;

} else {

path = newpgetPath() + Fileseparator + parentDir

+ Fileseparator + fileName;

}

} else {

if (fileNametrim()equals("")) {

path = userdir + Fileseparator + parentDir;

} else {

path = userdir + Fileseparator + parentDir + Fileseparator

+ fileName;

}

}

return path;

}

4 利用反射的方式获取路径:

InputStream ips1 = Enumeration class getClassLoader() getResourceAsStream( "cn/zhao/enumStudy/testPropertiesPath1properties" );

InputStream ips2 = Enumeration class getResourceAsStream( "testPropertiesPath1properties" );

InputStream ips3 = Enumeration class getResourceAsStream( "properties/testPropertiesPath2properties" );

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 工作团队。

以上就是关于getParentFile()的作用全部的内容,包括:getParentFile()的作用、怎么用linux命令获取某文件夹下的所有jar文件并将jar文件中类名相同的.class文件挑出,放在一个文件夹里、Java中用.getClass或者类名.class得到字节码文件有什么作用,得到之后怎么使用有意义吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9459042.html

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

发表评论

登录后才能评论

评论列表(0条)

保存