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");

有了字节流,就能读取到文件内容了。

注意:

这里必须以“/”开头;

时间: 2024-10-02 13:26:26

Java相对路径读取文件的相关文章

java代码-怎么用java实现定时读取文件

问题描述 怎么用java实现定时读取文件 用timer类实现定时,我不知道在run()方法中怎么实现读取文件. 解决方案 你可以用java自带的定时器Timer,调用timer中的schedule方法可以定时调用继承TimerTask类的线程,然后把你要执行的操作,读取任务,然后写到数据库放到TimerTask类的子类中.也可以用quatz来实现.

java中如何读取文件中内容,并打印日历

问题描述 java中如何读取文件中内容,并打印日历 读取文件,文件中有一个8位的日期,读出后打印此日期开始的一个月日历 解决方案 用java I/O 流 ,你查一下. 解决方案二: 先学会读取文件 http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 有了日期,日历自然出来了.

JAVA按字节读取文件的简单实例_java

JAVA的IO流一直都是我比较头疼的部分(我没有系统学过JAVA,一般需要实现什么功能再去看文档). 最近遇到一个需求:一个字节一个字节地读取一个文件.网上很多方法,代码一大堆.我在这里和大家分享一个简单的办法(至少对我的需求是有效的). File file= new File(fileName); //filename为 文件目录,请自行设置 InputStream in= null; byte[] bytes= null; in = new FileInputStream(file); //

java实现分段读取文件并通过HTTP上传的方法_java

本文实例讲述了java实现分段读取文件并通过HTTP上传的方法.分享给大家供大家参考.具体如下: 1.首先将文件分段,用RandomAccessFile 2.分段后将分出的内容上传到http URL url = new URL(actionUrl); HttpURLConnection con = (HttpURLConnection) url.openConnection(); /** 允许Input.Output,不使用Cache */ con.setDoInput(true); con.s

JAVA 生成JAR读取文件路径问题

问题描述 使用Eclipase开发一个包, 现在结构有com.ut.servicecom.ut.resourcecom.ut.resource下有文件 config.properties,,,我在com.ut.service代码中读取 config.properties文件应该如何操作现在方法:String filePath = "bin/com/ut/resources/config.properties";File file = new File(filePath);能找到文件但是

java通过url读取文件内容示例_java

复制代码 代码如下: using System;  using System.Collections;  using System.ComponentModel;  using System.Data;  using System.Drawing;  using System.Web;  using System.Web.SessionState;  using System.Web.UI;  using System.Web.UI.WebControls;  using System.Web.

java正则表达式的应用 java读取文件并获取电话号码_java

实现功能:读取文件,将其中的电话号码存入一个Set返回. 方法介绍: find():尝试查找与该模式匹配的输入序列的下一个子序列. group():返回由以前匹配操作所匹配的输入子序列. 1.从一个字符串中获取出其中的电话号码 import java.util.HashSet; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 从字符串中截取出电话号码 * @au

Java基于IO流读取文件的方法_java

本文实例讲述了Java基于IO流读取文件的方法.分享给大家供大家参考,具体如下: public static void readFile(){ String pathString = TEST.class.getResource("/simu").getFile(); try { pathString = URLDecoder.decode(pathString, "utf-8"); } catch (UnsupportedEncodingException e1)

io流-.jsp页面IO流读取文件报错

问题描述 .jsp页面IO流读取文件报错 <%@ page language=""java"" import=""java.util.*"" pageEncoding=""gb2312""%><%@ page import=""java.io.*""%><%@ page import=""org.a