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得到字节码文件有什么作用,得到之后怎么使用有意义吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)