Java相对路径读取文件
不管你是新手还是老鸟,在程序中读取资源文件总会遇到一些找不到文件的问题,这与Java底层的实现有关,不能算bug,只要方法得当,问题还是可以解决的。
项目的文件夹结构:
repathtest
├─src
│ └─com
│ └─lavasoft
│ ├─test
│ └─res
├─doc
1、在Java开发工具的project中使用相对路径
在project中,相对路径的根目录是project的根文件夹,在此就是repathtest文件夹了。
创建文件的写法是:
File f = new File("src/com/lavasoft/res/a.txt");
File f = new File("doc/b.txt");
注意:
路径不以“/”开头;
脱离了IDE环境,这个写法就是错误的,也并非每个IDE都如此,但我见到的都是这样的。
2、通过CLASSPATH读取包内文件
读取包内文件,使用的路径一定是相对的classpath路径,比如a,位于包内,此时可以创建读取a的字节流:
InputStream in = ReadFile.class.getResourceAsStream("/com/lavasoft/res/a.txt");
有了字节流,就能读取到文件内容了。
注意:
这里必须以“/”开头;
3、看看完整的测试代码
package com.lavasoft.test;
import java.io.*;
/**
* Java读取相对路径的文件
*
* @author leizhimin 2010-1-15 10:59:43
*/
public class ReadFile {
public static void main(String[] args) {
readTextA_ByClassPath();
readTextA_ByProjectRelativePath();
&n
相关文档:
没有一个平台独立的方法能够在所有的JVM上实现。一个最简单、最接近取得PID的办法是使用:
ManagementFactory.getRuntimeMXBean().getName() 。
取得到的字符窜的格式为[PROCESS_ID]@[MACHINE_NAME],通过解析这个字符串就可以得到java进程的PID。
在以下平台上测试通过:
1、Windows、Linux上的Sun JDK1.5、JDK6
2、H ......
您查询的关键词是:newinstance object initargs 。如果打开速度慢,可以尝试快速版;如果想保存快照,可以添加到搜藏。
(百度和网页http://bbs.iaiai.com/forum/read.php?tid=2690的作者无关,不对其内容负责。百度快照谨为网络故障时之索引,不代表被搜索网站的即时页面。)
主题 : java的反射 ......
package com.allywll.core.exec.base;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent. ......
1、Collection 和 Collections的区别。
Collections是个java.util下的类,它包含有各种有关java集合操作的静态方法。
Collection是个java.util下的接口,它是各种java集合结构的父接口
2、List, Set, Map是否继承自Collection接口? List,Set是 Map不是
3、ArrayList和Vector的区别。
(1).同步性:Vector是线程 ......