精华内容
下载资源
问答
  • 今天碰到了一个加载文件相对路径问题,异常如下:目录结构:读取文件的代码如下:public void load(String path) { BufferedReader br = null; try { br = new BufferedReader(new FileReader(path)); ...

    今天碰到了一个加载文件的相对路径问题,异常如下:



    目录结构:



    读取文件的代码如下:

    public void load(String path) {
    		BufferedReader br = null;
    		try {
    			
    			br = new BufferedReader(new FileReader(path));
    			String line = "";
    			while ((line = br.readLine()) != null) {
    				m_tbl.put(Integer.parseInt(line), true);
    			}
    			br.close();
    
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (NumberFormatException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}

    正斜杠,反斜杠,正反双斜杠,还有加上上一级目录我都试过。。。最后运行出来的都是一个反斜杠,实在是伤脑筋,而且这段代码在 eclipse 下运行没问题,我拷贝到 idea 下的 resources 文件夹下了就报异常。

    后来研究之后得出下面两种解决方案:

    1、采用绝对路径

    2、还是使用相对路径,这时用类加载器加载文件路径。代码如下:

    public void load(String path) {
    		BufferedReader br = null;
    		try {
    
    			InputStream in = SetTable.class.getClassLoader().getResourceAsStream(path);
    			br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
    			String line = "";
    			while ((line = br.readLine()) != null) {
    				m_tbl.put(Integer.parseInt(line), true);
    			}
    			br.close();
    
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (NumberFormatException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    InputStreamReader 相比于 FileReader 还有一个优势是可以设置编码
    展开全文
  • 默认情况下,tarfile 打包成的 tar.gz 文件会带绝对路径,而很多情况下,我们需要的是相对打包文件夹路径。 代码: import tarfile tmp_tar_dir = "/home" file_name = "test.tar.gz" tmp_dir = "/home/centos" ...

    默认情况下,tarfile 打包成的 tar.gz 文件会带绝对路径,而很多情况下,我们需要的是相对打包文件夹的路径。

    代码:

    <pre name="code" class="python"><span style="font-size:18px;">import tarfile
    tmp_tar_dir = "/home"
    file_name = "test.tar.gz"
    tmp_dir = "/home/centos"
    soft_name = "php"
    tar = tarfile.open(os.path.join(tmp_tar_dir,file_name),"w:gz")
    for root,dir,files in os.walk(os.path.join(tmp_dir,soft_name)):
        root_ = os.path.relpath(root,start=tmp_dir)
        #tar.add(root,arcname=root_)
        for file in files:
            full_path = os.path.join(root,file)
            tar.add(full_path,arcname=os.path.join(root_,file))
    tar.close()</span>


    
    注意:打包出来的文件,如果原目录总存在空文件夹,则打包出来的文件中不包含此空文件夹。
    

    展开全文
  • 获得一个文件夹相对于另一个文件夹相对路径 /** * 获得targetPath相对于sourcePath的相对路径 * @param sourcePath : 原文件路径 * @param targetPath : 目标文件路径 * @return */ private static String ...

     获得一个文件夹相对于另一个文件夹的相对路径

    /**
     * 获得targetPath相对于sourcePath的相对路径
     * @param sourcePath	: 原文件路径
     * @param targetPath	: 目标文件路径
     * @return
     */
    private static String getRelativePath(String sourcePath, String targetPath) {
    	StringBuffer pathSB = new StringBuffer();
    		
    	if (targetPath.indexOf(sourcePath) == 0){
    		pathSB.append(targetPath.replace(sourcePath, ""));
    	}else {
    		String[] sourcePathArray = sourcePath.split("/");
    		String[] targetPathArray = targetPath.split("/");
    		if (targetPathArray.length >= sourcePathArray.length){
    			for (int i = 0; i < targetPathArray.length; i++){
    				if (sourcePathArray.length > i && targetPathArray[i].equals(sourcePathArray[i])){
    					continue;
    				}else {
    					for (int j = i; j < sourcePathArray.length; j++){
    							pathSB.append("../");
    					}
    					for (;i < targetPathArray.length; i++){
    						pathSB.append(targetPathArray[i] + "/");
    					}
    					break;
    				}
    			}
    		}else {
    			for (int i = 0; i < sourcePathArray.length; i++){
    				if (targetPathArray.length > i && targetPathArray[i].equals(sourcePathArray[i])){
    					continue;
    				}else {
    					for (int j = i; j < sourcePathArray.length; j++){
    						pathSB.append("../");
    					}
    					break;
    				}
    			}
    		}
    			
    	}
    		
    	return pathSB.toString();
    }

     

    展开全文
  • 相对路径:从当前文件夹开始的路径。 目录/文件夹:一个“目录(directory)”或“文件夹(folder)”就是一个装有数字文件系统的虚拟“容器”。在它里面保存着一组文件(file)和其它一些目录(文件夹)。一个典型的文件...

    路径/路径名:用户在磁盘上寻找文件时,所历经的文件夹线路叫路径。路径分为绝对路径和相对路径。
    绝对路径:从根文件夹开始的路径,以“\”作为开始。
    相对路径:从当前文件夹开始的路径。

    目录/文件夹:一个“目录(directory)”或“文件夹(folder)”就是一个装有数字文件系统的虚拟“容器”。在它里面保存着一组文件(file)和其它一些目录(文件夹)。一个典型的文件系统可能会包含成千上万个目录(文件夹)。多个文件通过存储在一个目录(文件夹)中,可以达到有组织的存储文件的目的。在一个目录(文件夹)中的另一个目录(文件夹)被称作它的子目录(子文件夹)。这样,这些目录(文件夹)就构成了层次(hierarchy),或树形结构。现在大家习惯上把“目录(directory)”叫做“文件夹(folder)”

     绝对路径:是从盘符开始的路径,形如
    C:\windows\system32\cmd.exe
    相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
    要描述上述路径,只需输入
    system32\cmd.exe
    实际上,严格的相对路径写法应为
    .\system32\cmd.exe
    其中,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。
    假如当前路径为c:\program files
    要调用上述命令,则需要输入
    ..\windows\system32\cmd.exe
    其中,..为父目录。
    当前路径如果为c:\program files\common files
    则需要输入
    ..\..\windows\system32\cmd.exe

    另外,还有一种不包含盘符的特殊绝对路径,形如
    \windows\system32\cmd.exe
    无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。

     


     

     

    展开全文
  • /** * 复制assets目录下所有文件文件夹到指定路径 * @param android.app.... * @param java.lang.String mAssetsPath Assets目录的相对路径 * @param java.lang.String mSavePath 复制文件的保存路径 * @retur...
  •  //删除文件夹下的所有文件(包括子目录)  File[] files = dirFile.listFiles();  for(int i=0;i;i++){  //删除子文件  if(files[i].isFile()){  flag = deleteFile(files[i].getAbsolutePath()); ...
  • /* 需求:在F盘下的javawork\splits文件夹里面存放分割的文件 通常我们可以直接将文件夹的路径...但是,往往在实际中,我们想要使用相对路径,那么可以这样写 */ //先将当前路径封装成File对象 File splits = ...
  • 获取指定文件夹下的所有相对路径(包括子文件夹路径) NSFileManager *mgr = [NSFileManagerdefaultManager]; NSArray *subpaths = [mgr subpathsAtPath:@"/Users/lxf/Desktop/test"]; NSLog(@"%@", subpaths); ...
  • python 相对路径打开文件夹

    万次阅读 多人点赞 2018-08-07 09:29:22
    1)xxx.py想要打开a.txt,使用相对路径,有如下两种方式: 思路: xxx.py想打开的是b_file下的文件,XXX.py和b_file都在文件目录之下,两者是同级目录,因此操作就是在当前目录向下搜索,因此就可以很容易理解下面...
  • 支持无限极遍历子文件文件夹,支持绝对路径和相对路径!   函数说明:array glob ( string $pattern [, int $flags ] )功能:寻找与模式匹配的文件路径,返回包含匹配文件(目录)的数组(注:被检查的文件必须是...
  • java如何通过绝对路径和相对路径读取文件

    万次阅读 多人点赞 2018-05-29 19:24:20
    0x00 前言 当我在写java的数据库连接时,希望通过使用文件相对路径来读取信息,因为使用绝对路径...相对路径:由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系 0x02 java通过绝对路径读取文件 ...
  • 两个py文件,一个是al文件夹下的test1.py,一个是和al文件夹同层的test2.py test1.py代码如下: import os def test(): path = './source_data' ...即如果使用相对路径创建文件,则是最外层调用模块的相对路径 ...
  • windows中cmd的文件夹操作d: #进入d盘根目录 dir #看到d盘中所有的文件夹和选项 ...导出文件加下所有文件名字打开cmd,输入类似下述格式的命令即可:dir 目标文件夹目录/b>存储所有文件名的文件目录 其
  • 相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。使用相对路径可以为我们带来非常多的便利。(百度百科) 绝对路径: 绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始...
  • HTML 文件相对路径

    2018-12-22 16:26:14
    在实际工作中,通常需要有一个文件夹专门用于存放图片路径,之后在HTML中插入图像,一般常见的路径可以分为:相对路径和绝对路径。 相对路径的插入方式: (1)如果图像文件与HTML文件在同一个文件夹中,则只需要...
  • mac xcode文件相对路径设置

    千次阅读 2017-11-23 21:48:51
    xcode 文件绝对路径和相对路径问题
  • VScode 文件相对路径解决方案

    千次阅读 2020-06-15 11:22:57
    vs code 运行python文件,默认打开的是当前工作区的根路径,运行该工作区子文件夹中py文件,因含有相对路径,则报错。 网上解决方案: 配置launch.json 文件添加 “cwd”: “${fileDirname}” or 设置–terminal–...
  • java 获取文件相对路径

    万次阅读 2019-05-06 19:10:28
    1、首先需要在maven工程下的resources文件夹下添加文件 2、通过右边代码获取路径String fileName = dataPreProcess.class.getClassLoader().getResource("char_to_id.txt").getPath(); ...
  • 文件的绝对路径和相对路径

    千次阅读 2019-04-18 20:34:35
    (1)若当前路径为C:\windows,只需输入:system32\cmd.exe,严格的相对路径写法应为:.\system32\cmd.exe,.表示当前路径,在通道情况下可以省略,只有在特殊的情况下不能省略。 (2)1、若当前路径为c:\pro...
  • 文件读取 1.利用java.util自带的Properties类读取 Properties类的load方法提供了两种读取文件的方式 (1)reader作为参数,以字符流方式读取 Properties properties = new Properties(); try { properties....
  • 在工程的.pro文件的最后增加如下配置: QMAKE_RPATHDIR = ../lib 注意:这个 ../lib 相对路径是可执行程序在部署环境运行是依赖的库文件的路劲,跟编译没有关系。
  • linux-文件路径-相对路径-绝对路径

    千次阅读 2019-06-23 19:54:36
    文件的路径 绝对路径,从根目录开始 相对路径,以当前目录开始 明确相对路径与绝对路径的关系 明确。 与 。。 的意义 绝对路径与相对路径的示例: ~ 代表家 切换目录,cd ...
  • 在VC++编程中,有时我们需要获得文件的luj
  • 绝对路径,正斜杠反斜杠都可以,虽然我们常用’/‘来表示相对路径,’\‘来表示绝对路径, txt = open('D://wh/workspace/daguan1/file/1.txt'','rb') txt = open('D:\\wh\\workspace\\daguan1\\file\\1.tx...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 150,779
精华内容 60,311
关键字:

本文件夹的文件相对路径