java我想要写某个文件,怎样获取文件的相对路径。文件位置:

工程
|____src
|____test.txt
|____Main.java
像上图,我怎样获取test.txt的路径呢?
我试过File f=new File("src/test.txt");结果运行正确,但一打jar包再运行就出错。怎么回事。(找不到路径)
也试过URL url=this.getClass.getResource("test.txt");
File f=new File(url.toURI());结果也是,运行正确,打包再运行错误。(URI is not hierarchical)
真是无语了,大家都是怎么写文件的?
还是不行,你也可以试试,难道我配置出错了?郁闷!运行正确,等打包再运行就又出错了。错误:URI is not hierarchical
补充一下啊,关于二楼的,我想要写的文件是在jar包中的,而不是指定路径的,我现在是不清楚怎样找相对路径,而不是不会写文件。谢谢

第1个回答  2010-12-23
package com.hmilyld.exp;

import java.io.File;

public class ListFile {

private long[] count = new long[] ;

private File file;

private long[] listFile(String path) {
file = new File(path);
File[] f = file.listFiles();
for (int i = 0; i < f.length; i++) {
if (f[i].isDirectory()) {
count[0]++;
this.listFile(f[i].getPath());
} else {
count[1]++;
}
}
return count;
}

/**
* 得到指定路径下的文件和文件夹数量
*
* @param path
* 要查看的路径
* @return object[0]耗时(毫秒)<br>
* object[1]文件夹数量<br>
* object[2]文件数量
*/
public Object[] getFileCount(String path) {
long t = System.currentTimeMillis();
long[] count = this.listFile(path);
t = System.currentTimeMillis() - t;
Object[] o = new Object[] { Long.valueOf(t), Long.valueOf(count[0]),
Long.valueOf(count[1])};
return o;
}

public static void main(String[] args) {
ListFile l = new ListFile();
Object[] count = l.getFileCount("d:\\");
System.out.println(count[0]);
System.out.println(count[1]);
System.out.println(count[2]);
}
}

以前写的一个获取目录下有多少文件和多少文件夹的代码,
可以参考下.:)
第2个回答  2010-12-22
URL url=this.getClass.getResource("/test.txt");
应当是少个/吧! LZ试试本回答被提问者和网友采纳

java如何获取文件的相对路径啊?
只要在test.java中这样写File file=new File("hello.txt");\/\/这样就是相对路径。如果文件结构是 Test文件夹 ... |---test.java ... |---hello.txt ... |---source文件夹 ... |---world.txt 如果想在test.java中操作world.txt。只要这样写File file=new File("source\/world.txt")...

你知道,java项目中是如何获取文件地址的吗?
在Java代码中,主要通过`class.getResource(String name)` 和 `class.getClassLoader().getResource(String name)`两种方法获取文件地址。下面详细探讨两者之间的异同。`class.getResource(String name)`方法可以接收相对路径(相对于类)或绝对路径(以根目录符号 `\/ `表示项目的根目录)。返回的是URL对...

你知道,java项目中是如何获取文件地址的吗?
在Java项目开发中,获取文件地址是一个常见的需求。当我们需要读取配置文件时,有两种常用的方法:class.getResource(String name) 和 class.getClassLoader().getResource(String name)。本文将详细介绍这两种方法的区别和使用场景。首先,class.getResource() 方法接受相对路径或绝对路径,相对路径是相对于...

java中获取文件路径的几种方式
File的getPath方法得到相对路径 getAbsolutePath方法得到绝对路径 举个例子 String fileName = "yourfile.txt";File aFile = new File(fileName);\/\/这里可以把路径拼在fileName前面 可以用相对路径 也可以用绝对 注意分隔符 System.out.println(aFile.getPath()); \/\/相对路径 System.out.println(...

java项目中文件的路径
不通过Servlet获取路径 第一种实现 Java代码 URL url = ClassLoader.getSystemClassLoader().getResource(".\/");File file =new File(url.getPath());File parentFile =new File(file.getParent());System.out.println("webRoot:"+parentFile.getParent());第二种实现 首先写一个接听类 (推荐...

java相对路径,应该怎么取呢?在一个包下的话应该用什么语句,
相对路径就是从当前路径开始的路径,如果都在一个文件夹下直接打文件的名字,在上一级打..\/文件名,在上一级的x文件夹下就是..\/x\/文件名

请问在java代码中怎样获取某个磁盘上的某个文件的绝对路径和相对路径...
String getAbsolutePath()返回抽象路径名的绝对路径名字符串。这个相对路径不好说:因为:假设:D盘 a\\ b\\ c\\这里有个1.txt 相对于c\\来说是:1.txt 相对于a\\来说是:b\\c\\1.txt 呵呵,你自己看 --- 那就全盘搜索吧(楼上的方法)Linux系统只用搜索一次 ...

本人初学Java,我用eclipse编写的代码文件保存位置在哪里?
就在你所新建的工程目录下,打开eclipse右键所建项目,点击最底下的属性,找到location后面的路径就是你的项目路径,这样就可以从该项目的src目录下找到你写的源文件了

如何在java web项目中获得相对路径
第一步: 先获得classpath路径 String classpath = this.getClass().getResource("\/").getPath().replaceFirst("\/", "");这样子可以得到classpath路径,类似于:F:\/projects\/JavaStudyParent\/study-springmvc-junit-test\/target\/springmvc-junit-test\/WEB-INF\/classes\/ 然后把WEB-INF\/classes截取...

java怎么获取resources下的文件路径
1. 使用Class类的getResource方法:在Java项目中,如果你想获取resources目录下的文件路径,可以使用`Class`类的`getResource`方法。这个方法能够返回一个`URL`对象,代表资源的路径。2. 相对路径和绝对路径:`getResource`方法可以接受相对路径或绝对路径作为参数。如果是相对路径,它通常是相对于`classpath...

相似回答