java 用File 类访问 linux unix "~/DS/abc" 路径的问题 关键是带~ 的就访问不到

java 用File 类访问 linux unix "~/DS/abc" 路径的问题 关键是带 ~ 的路径就访问不到

请教大家如何处理呀 ,急等呀

[b]linux是通过一个~字符来引用自己的主目录。[/b]

在shell编程中用~来替换/home/用户名/目录,所以~用于在shell编程中。

而在java中通过如下方法获取用户的主目录:[code="java"]String curDir = System.getProperty(”user.dir”);[/code]
或者
[code="java"]File dir = new File (”.”);

System.out.println (”Current dir : ” + dir.getCanonicalPath());
[/code]

我在Ubuntu下没有发现你这个问题
package io;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Reader {

/**
 * @param args
 */
public static void main(String[] args) throws IOException {
    File f=new File("/home/yourname/Desktop/~/DS/abc/test");
    if(f.canRead()){
        BufferedReader br=new BufferedReader(new FileReader(f));
    System.out.print(br.readLine());
    }
}

}

你最好确认下自己的路径,上面个的程序可以输出的。