Java从不同目录获取文件方式

demo 
├─src 
│    └─com 
│            └─rgsc
│                    └─xml

│                          ├─XmlRead.java

│                          └─stu.xml

1. 错误方式:

String filePath="src/com/rgsc/xml/stu.xml";

File f = newFile(filePath);

发布为jar包后读取就会失败,因此不要使用这种方式

2. 类字节码方式

String filePath = XmlRead.class.getResource("/com/rgsc/xml/stu.xml").getFile();

// String filePath = XmlRead.class.getResource("stu.xml").getFile();  //可以采用相对路径

File f = new File(filePath);

注:1. 默认从当前类所在包查找,若要从根目录查找则,最前需加入“/”。

2. 用这种方式,工作目录需为英文且不能有空格

2. 类加载器方式

String filePath = XmlRead.class.getClassLoader().getResource("com/rgsc/xml/stu.xml") .getFile();

File f = new File(filePath );

注:1. 默认从类路径根目录查找,最前不需要加入“/”。

2. 用这种方式,工作目录需为英文且不能有空格

时间: 2024-10-18 23:33:52

Java从不同目录获取文件方式的相关文章

HDFS 读取、写入、遍历目录获取文件全路径

1.从HDFS中读取数据 Configuration conf = getConf(); Path path = new Path(pathstr); FileSystem fs = FileSystem.get(conf); FSDataInputStream fsin= fs.open(path ); BufferedReader br =null; String line ; try{ br = new BufferedReader(new InputStreamReader(fsin))

java移动文件夹、 慎用java file.renameTo(f)方法 、 java从一个目录复制文件到另一个目录下 、 java代码完成删除文件、文件夹 、

java移动文件夹(包含子文件和子文件夹): http://blog.csdn.net/yongh701/article/details/45070353 慎用java    file.renameTo(f)方法: http://www.cnblogs.com/mrwangblog/p/3934506.html 注意看结果,从C盘到E盘失败了,从C盘到D盘成功了.因为我的电脑C.D两个盘是NTFS格式的,而E盘是FAT32格式的.所以从C到E就是上面文章所说的"file systems"

java递归遍历目录获取所有文件及目录方案

本文提供一份递归遍历目录获取所有文件及目录的源代码: import java.io.File; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2019/2/10. */ public class TestWalkDir { static class FileComponent { File curFile; List<FileComponent> fileComponen

WebClient 从服务器下载/获取文件方式

今天主要记录.分享 使用WebClient 下载/获取 文件的两种方式. 话不多说,放置代码. 第一种:使用 WebClient 自封装方法: DownloadFile();  下载方便.直接. /// <summary> /// 下载文件(WebClient.DownloadFile) /// </summary> /// <param name="downFileUrl">下载文件链接地址</param> /// <param

java遍历所有目录和文件

package xian; import java.io.File; import java.util.ArrayList; public class GetFile { private static ArrayList<String> fileList = new ArrayList<String>(); public static void main(String[] args) { String filePath="E://小仙U盘"; getFiles(

java从一个目录拷贝文件到另一个目录下

** * 复制单个文件 * @param oldPath String 原文件路径 如:c:/fqf.txt * @param newPath String 复制后路径 如:f:/fqf.txt * @return boolean */ public void copyFile(String oldPath, String newPath) { try { int bytesum = 0; int byteread = 0; File oldfile = new File(oldPath); i

java从一个目录拷贝文件或整个文件夹到另一个目录下

** * 复制单个文件 * @param oldPath String 原文件路径 如:c:/fqf.txt * @param newPath String 复制后路径 如:f:/fqf.txt * @return boolean */ public void copyFile(String oldPath, String newPath) { try { int bytesum = 0; int byteread = 0; File oldfile = new File(oldPath); i

如何在windows下和linux下获取文件(如exe文件)的详细信息和属性

程序员都很懒,你懂的! 最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息.最后由我用java实现linux上exe文件的版本号读取功能.下面是详细代码: package com.herman.utils; import java.io.File; import java.io.FileNotFoundException; import java.io.I

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m