-2

我想知道是否可以为文件的路径分配一个字符串变量?如果是,那么是否可以动态更新文件?我正在尝试动态创建文件(我可以这样做),但我想将这些动态创建的文件链接到字符串变量。请帮忙。提前致谢。

File dir = new File("Data");
        if(!dir.exists()){
            dir.mkdir();
        }
        String filename = "file1";
        File tagfile = new File(dir, filename+".txt");
        if(!tagfile.exists()){
            tagfile.createNewFile();
        }
        System.out.println("Path : " +tagfile.getAbsolutePath());
4

3 回答 3

3
String s = new File("xyz.txt").getAbsolutePath();

或者

String s = new File("xyz.txt").getCanonicalPath();

以上两者都分配(在我的情况下)c:\dev\xyz.txt到 string s

于 2013-06-03T06:54:09.467 回答
1

获取完整的系统路径 windows 或 linux

public static void main(String []args){
    String path = "../p.txt";//works on windows or linux, assumes you are not in root folder
    java.io.File pa1 = new java.io.File (path);
    String s = null;
    try {
        s = pa1.getCanonicalFile().toString();

        System.out.println("path " + s);
    } catch (Exception e) {
        System.out.println("bad path " + path);
        e.printStackTrace();
    }

打印出完整路径,如 c:\projects\file\p.txt

于 2013-06-03T07:08:43.493 回答
0

这是执行此操作的代码:

File file = new File("C:\\testfolder\\test.cfg");
String absolutePath = file.getAbsolutePath();

这就是 javadoc 关于 getAbsolutePath API 的说法:

获取绝对路径

public String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。如果这个抽象路径名已经是绝对的,那么路径名字符串就像 getPath() 方法一样简单地返回。如果此抽象路径名是空的抽象路径名,则返回当前用户目录的路径名字符串,该路径名由系统属性 user.dir 命名。否则,此路径名将以系统相关的方式解析。在 UNIX 系统上,通过根据当前用户目录解析相对路径名,使其成为绝对路径名。在 Microsoft Windows 系统上,通过将相对路径名解析为由路径名命名的驱动器的当前目录(如果有),从而使相对路径名成为绝对路径;如果不是,则针对当前用户目录进行解析。

返回: 表示与此抽象路径名相同的文件或目录的绝对路径名字符串

于 2013-06-03T07:04:44.660 回答