1. 绝对路径、物理路径、完全路径各有什么区别,如何理解
绝对路径是指目录下的绝对位置,直接到达目标位置。
物理路径指的是某一台计算机本地的路径,以盘符开头,例如C:\、D:\temp等等。ASP的数据库连接中,只能连接物理路径,而不能连接相对路径,所以需要用server.mappath对象把相对路径转化成物理路径。
全路径是指从根目录开始的路径,例如
Windows下
C:\abcd\abcd\a.txt
Linux下
/mnt/media/xxxx.txt
使用全路径就可以唯一定位一个文件或者文件夹。
2. perl模块要写全路径
为甚麽 java 要写成SomeClass x = new SomeClass();
得把 Class 写两遍, 而不能像 perl, $x = new SomeClass() ?
为甚麽韩文的句式是主词-副词-动词, 而不像英文的句式: 主词-动词-副词
语法这问题, 没甚麽好比较的。 不过从结构而言, 可以解说一些.
1. 简写, 可以的. 你设计下就好
#MyClass.pm
package A::B::MyClass;
require Exporter;
our @ISA = qw/Exporter/;
our @EXPORT = qw/MyClass/;
sub MyClass{ bless{}, shift }
sub hi{ print "Hi @_" }
1;
#main
use A::B::MyClass;
$obj = MyClass(); # 连 new 也省掉了
$obj -> hi ( 'You!' ) ; # prints 'Hi You!'
2. Perl 从来都不是 OO 语言, 只不过她能做 OO 的效果
所以, perl 里面从来都没有 new 这个指令, new 是你自己写出来的
#MyClass.pm
package A::B::MyClass;
sub new { bless {}, shift }
1;
# main
use A::B::MyClass;
$obj = new A::B::MyClass();
perl 的 new 是这样来的. 因为 perl 不是 OO 语言, 所以, new 其实只是一个 sub, 你叫甚麽其实都可以, 这个 sub 在 bless() 了之后会带给你一个 ref(erence). Perl 的所谓 OO, 其呼叫都是写成 ->; , 如 C 那样, 这其实只是一个指针, 一个指向 code block 的指针. 也因为用到的都是指针, 所以, 在建构时, 就得说明全路径. 否则 A module 一个 new, B module 一个 new, 那就无从识别该指各那里了.
如果你问当初设计时的考虑, 那可以说 Perl 本来就只是设计来做文字处理, 而到了后来才考虑加入 更 OO 的风格 -- 只是风格而已了.
3. JAVA中怎样获得一个文件的全路径
如果想要获得当前文件中的文件名只需要String [] fileName = file.list();就可以了。如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。
其中public static String [] getFileName(String path)是只得到当前文件中的文件名。public static void getAllFileName(String path,ArrayList<String> fileName)是包括当前文件及其子文件的文件名。
4. java类里,怎么得到自己的全路径
import java.util.Date;
public class Test {
// 获取包路径
private static String getPackageName(Object obj) {
return obj.getClass().getPackage().getName();
}
// 获取类名
private static String getClassName(Object obj) {
return obj.getClass().getSimpleName();
}
// 获取类路劲
private static String getClass(Object obj) {
return obj.getClass().getName();
}
public static void main(String[] args) {
Date date = new Date();
System.out.println("Package Name = " + getPackageName(date));
System.out.println("Class Name = " + getClassName(date));
System.out.println("Class = " + getClass(date));
}
}
输出:
Package Name = java.util
Class Name = Date
Class = java.util.Date
5. 什么是绝对路径和相对路径
你在自己的电脑上创建了一个名字为WEB的文件夹用于来存放所有的网页文件,WEB文件夹中有一个index.htm的网页文件和一个名字为01的文件夹,其中01文件夹里面有一个名字为1.htm的网页文件。
那么现在我在index.htm上有一个链接描述的连接是指向网页文件1.htm的,那么我们可以通过相对链接的形式来实现,在index.htm文件的源码中链接描述应该是:其中 01/1.htm 就是1.htm相对于index.htm的路径。那么从1.htm链接向index.htm,这样的路径描述应该怎么写呢?首先请大家看一下代码:大家会看到链接路径中出现了两个点,这里我们使用了父路径,两点的意思是返回上一级文件夹,依次类推,返回多少个上一级文件夹就应该出现多少个两点。到这里相对路径就已经解释完毕了。
下面来解释一下绝对路径的问题。
比如你现在有一个虚拟主机,这个虚拟主机绑定的域名是 ,那么你就可以在浏览器里通过输入 来访问你的网站了。先在我们把上面的例子中的网页文件全部上传到虚拟主机中,那么我们得出index.htm在因特网上的绝对地址是 网页文件1.htm的绝对地址就是 ,由index.htm链接描述指向1.htm使用绝对路径的代码写法是
链接描述 ,由1.htm链接描述指向index.htm使用绝对路径的代码写法是 链接描述。
关于路径使用的建议
如果是站内文件,建议使用相对路径,因为它比绝对路径的代码短,另外相对位置也比较容易找,使网站维护比较方便。至于绝对路径,一般是做外部资源链接的时候才使用的。