导航:首页 > 文件目录 > 相对路径打开一个文件是什么

相对路径打开一个文件是什么

发布时间:2023-08-01 19:15:09

① 怎样用java中的相对路径打开文件

如果你的生成File的文件和a.jpg在同一级的话。你用File f=new File("a.jpg");x0dx0a如果你的生成File的文件和a.jpg不在同一级的话:1.File在外,a.jpg在pic文件夹则File f=new File("pic/a.jpg");x0dx0a2.File在file文件夹,a.jpg在pic文件夹则File f=new File("../pic/a.jpg");x0dx0a3.File在file文件夹,a.jpg外则File f=new File("../a.jpg");

② java中用相对路径打开文件。

1、在Java开发工具的project中使用相对路径

在project中,相对路径的根目录是project的根文件夹,在此就是repathtest文件夹了。创建文件的写法是:

Filef=newFile("src/com/lavasoft/res/a.txt");
Filef=newFile("doc/b.txt");

注意:路径不以“/”开头;

脱离了IDE环境,这个写法就是错误的,也并非每个IDE都如此。

2、通过CLASSPATH读取包内文件

读取包内文件,使用的路径一定是相对的classpath路径,比如a,位于包内,此时可以创建读取a的字节流:

InputStreamin=ReadFile.class.getResourceAsStream("/com/lavasoft/res/a.txt");

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

注意:这里必须以“/”开头;

3、看看完整的java中用相对路径打开文件测试代码

packagecom.lavasoft.test;

importjava.io.*;

/**
*Java读取相对路径的文件
*

*/
publicclassReadFile{
publicstaticvoidmain(String[]args){
readTextA_ByClassPath();
readTextA_ByProjectRelativePath();
readTextB_ByProjectRelativePath();
}

/**
*通过工程相对路径读取(包内)文件,注意不以“/”开头
*/
publicstaticvoidreadTextA_ByProjectRelativePath(){
System.out.println("-----------------readTextA_ByProjectRelativePath---------------------");
Filef=newFile("src/com/lavasoft/res/a.txt");
Stringa=file2String(f,"GBK");
System.out.println(a);
}

/**
*通过工程相对路径读取(包外)文件,注意不以“/”开头
*/
publicstaticvoidreadTextB_ByProjectRelativePath(){
System.out.println("-----------------readTextB_ByProjectRelativePath---------------------");
Filef=newFile("doc/b.txt");
Stringb=file2String(f,"GBK");
System.out.println(b);
}


/**
*通过CLASSPATH读取包内文件,注意以“/”开头
*/
publicstaticvoidreadTextA_ByClassPath(){
System.out.println("-----------------readTextA_ByClassPath---------------------");
InputStreamin=ReadFile.class.getResourceAsStream("/com/lavasoft/res/a.txt");
Stringa=stream2String(in,"GBK");
System.out.println(a);
}

/**
*文件转换为字符串
*
*@paramf文件
*@paramcharset文件的字符集
*@return文件内容
*/
publicstaticStringfile2String(Filef,Stringcharset){
Stringresult=null;
try{
result=stream2String(newFileInputStream(f),charset);
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
returnresult;
}

/**
*文件转换为字符串
*
*@paramin字节流
*@paramcharset文件的字符集
*@return文件内容
*/
(InputStreamin,Stringcharset){
StringBuffersb=newStringBuffer();
try{
Readerr=newInputStreamReader(in,charset);
intlength=0;
for(char[]c=newchar[1024];(length=r.read(c))!=-1;){
sb.append(c,0,length);
}
r.close();
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
returnsb.toString();
}
}

③ 什么是文件的相对路径怎么把文件路径改为相对路径

��什么是相对路径?相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。使用相对路径可以为我们带来非常多的便利。下面举实例详解:

��一、例如在本地硬盘有如下两文件,它们要互做超链接
G:\site\index.htm
G:\site\web\article\01.htm
如下图:

��

��index.htm要想链接到01.htm这个文件,正确的链接应该是:<a href=web/article/01.htm>链接文字</a>,这是标准的相对路径。

��反过来,01.htm要想链接到index.htm这个文件,在01.htm文件里面应该写上这句:<a href=../../index.htm>返回首页</a>。这里的../表示向上一级。

��至此,你已经了解相对路径的概念了,就是这样简单明了。如果你还是没有看明白,以前学过DOS吗?它的“CD 文件夹名”和“CD..”命令用过吗?这是同理的。

��注意:相对路的文件夹符号是斜杠:/
��<a href=/web/article/01.htm>链接文字</a>这样的链接,在href后面的第一个斜杠表示根目录,通常我们要特别慎用这种方式。

��二、什么是绝对路径?

��在www中(广域网),以http开头的链接都是绝对路径。

��三、什么是物理路径?

��物理路径指的是某一台计算机本地的路径,以盘符开头,例如C:\、D:\temp等等。ASP的数据库连接中,只能连接物理路径,而不能连接相对路径,所以需要用server.mappath对象把相对路径转化成物理路径
参考:http://www.webshu.com/tutorial/tor/7,id=0401.htm
http://blog.joycode.com/shannon/archive/2004/05/11/21181.aspx

④ EXCEL如何使用VBA打开相对路径下的文件或文件夹

打开文件如下:

Workbooks.Open ("C:对账单对帐单.xlsx")

这里你可以把“C:对账单”换成你的绝对路径,

你可以用:a = ThisWorkbook.Path

a = ThisWorkbook.Path

Workbooks.Open ("" & a & "&" "&对帐单.xlsx")

来获取你当前表的绝对路径,然后再打开,因为不知道你的具体情况,如果有问题可以hai我

如果当前文件夹下还有A文件夹可以用代码:

Workbooks.Open ("" & a & "&" A"&b.xlsx")

⑤ 如何用它在Linux的相对路径打开一个文件

1. 如果程序不是由自己做,这是一个糟糕的计划。糟糕的程序应包有一点的Bash脚本:#!/bin/bash
set -e
cd $(readlink -f $(dirname $0))
exec ./myprog $*

上面的脚本确定所在的目录,然后更改当前工作目录到该目录并运行一个程序myprog从那里,通过所有透明。你必须把这个脚本到你的程序所在的目录,然后运行你的程序来代替它。 假设您有访问源代码并可以修复程序,proc文件系统来确定程序的位置和绝对路径。 例如,/proc/self/exe将永远是一个符号链接指向的当前进程的二进制文件。使用readlink读取它的值 CodeGo.net,再切可执行文件和你得到的目录。
2. 出现了问题,前一段时间如何找到在C中的可执行文件的位置 你打开你的配置,资源,等这个路径..
3. 一种方法是ARGV [0]-有你的程序的相对路径(例如./programs/test/a.out)。如果你切的程序,并添加到文件的相对路径,你会得到一个怪物(例如./programs/test/../../input_data),但它应该工作。
4. 最简单的方法是要么把你的程序在一个预先知道的地方(/ bin中,/ usr / bin中,等)。如果没有,你在argv [0],删除该程序(最后一部分),作为你的工作目录前缀的所有相对路径(如果你想相对路径是相对于你的程序是)。 此外,你可以决定你的上面(使用的路径argv[0]),然后调用一个chdir()与此目录。从此所有的相对路径上是相对于所在的程序。但请注意,在这种情况下,你必须确定是否argv[0]占据绝对路径。如果没有,你必须得到当前工作目录(getcwd()),然后追加的目录部分argv[0]。但是,请注意,改变当前工作目录。是不是一个好主意,通常情况下,仿佛给你一个文件路径作为这将是相对于当前的工作目录,而不是相对于所在的程序存储。 例子:想象一下,你的程序在生活/usr/bin。你可以打电话给你的程序为:/usr/bin/myprog

(这将是argv[0]。trim的可执行文件,你有你的目录。)或者,是,比方说,在/usr:./bin/myprog

现在,argv[0]是一个相对路径。你必须在前面加上当前工作目录(/usr)到一个在argv[0]:/usr/./bin/myprog,然后再次trim可执行文件的目录将再次/usr/bin。
5. 唐的相对路径。使用绝对路径。你可能有一个config.h头文件中定义的常量,指定安装的可执行文件。然后,前置一个字符串常量到您在代码中指定任何相对路径。
6. openat打开相对于你传递一个特定的目录文件描述符的文件,但我不认为这真的是你想要的(精确)什么。 你将需要找到当前可执行文件的目录,然后创建一个开放的呼叫相对于(使用字符串运算符来建立路径,openat,或改变当前目录到该目录)。 为了找到可执行文件,可以readlink/proc/self/exe。readlink读取路径的符号链接指向,并/proc/self是一个符号链接/proc/<PID>哪里<PID>是当前进程(在内核中处理特殊)的进程ID,以及exe以下是该进程的可执行文件的符号链接。然后,你需要掏钱的路径的可执行文件,。 所有这一切都这么说,应该避免这样一种方式,他们希望找到相对于其可执行文件的东西写程序。
7. 好吧,如果你的程序需要从依赖安装程序所在的位置打开一个文件时,你应该做这个选项。有你的编译系统设置的CPP宏表示,其中有问题的数据文件,可以发现该目录。这是什么样的-datadir的选项在标准配置“的configure,make,make install的”内置程序经常做。 当然,如果你真的想要,可以通过编程改变工作目录与chdirPOSIX函数。但就像我说的,如果一个程序需要知道它位于何处,这应该是提供那么你不需要重写的选择工作目录中。
8. 您可以从确定执行路径argv[0]但这样做的时候要小心。 你所描述的是一个众所周知的和预期的语义。用户expect这种行为。
9. 下面是代码,你要找到你的程序在你的安装路径(与你的程序替换“test0002”):#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
#include <unistd.h>
///=============================================================================
std::string FindInstallPath()
{
std::string sret="";
int pid = (int)getpid();
bool b=false;
std::string sf, s;
std::stringstream ss;
ss << "/proc/" << pid << "/maps";
sf = ss.str();
std::ifstream ifs(sf.c_str());
size_t pos1, pos2;
while (!b && ifs.good())
{
std::getline(ifs, s);
if ((pos1 = s.rfind("test0002")) != std::string::npos)
{
if ((pos2 = s.find_first_of('/')) != std::string::npos)
sret = s.substr(pos2, pos1 - pos2);
b = true;
}
}
if (!b) sret = "";
ifs.close();
return sret;
}

阅读全文

与相对路径打开一个文件是什么相关的资料

热点内容
win10ime 浏览:271
手机号大数据保护停机是什么意思 浏览:81
两个苹果手机怎么隔空投送app 浏览:903
ps修改有褶皱的文件 浏览:417
javadbfreader 浏览:307
苹果手机数字代码是什么 浏览:66
驱动程序顺序安装脚本 浏览:665
word文件里怎样查重 浏览:219
mx5系统基带版本 浏览:184
ntlea全域通win10 浏览:171
qq怎么查看别人的收藏 浏览:135
地震三参数matlab程序 浏览:57
怎样给优盘文件加密软件 浏览:7
收拾文件有哪些小妙招 浏览:431
pdf文件去底网 浏览:253
win10重装系统需要格式化c盘吗 浏览:424
路由器trx文件 浏览:655
淘宝店铺数据包怎么做 浏览:195
win10键盘黏连 浏览:332
json如何生成表格 浏览:323

友情链接