怎样打印出一个文件所在文件夹的路径?

永远的326 2008-10-14 05:16:46
比如有文件"c:\book\hey.txt";
怎样能打印出hey.txt所在文件夹的路径?
即"c:\book\"?
如何去掉最后一个"\"?
...全文
218 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
CTea321 2008-10-15
  • 打赏
  • 举报
回复
我是来学习的,嘿嘿
lgstart 2008-10-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cydp007 的回复:]
这样OK..


Java codeimport java.io.File;

public class Filepath {

public static void main(String[] args) {
String fileStr = "text.txt";
File file = new File(fileStr);
//getAbsolutePath()获得路径.
//replace 把后面换成 空 就行了
System.out.println(file.getAbsolutePath().replace("\\" + fileStr, " "));
}

}
还行,差不多是这样。

这是结果.

Java codeE:\workspace\C…
[/Quote]
風男 2008-10-15
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 pauliuyou 的回复:]
File f = new File("c:\book\hey.txt");
f.getParentFile.getPath()
[/Quote]
我想楼主要的就是这效果
chen_chirs 2008-10-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 coverallwangp 的回复:]
Java code
String str="c:\book\hey.txt";
int index = str.lastIndexOf("\");
String path = str.substring(0,index);
[/Quote]

Ding...
seraphyong 2008-10-15
  • 打赏
  • 举报
回复
学习一下
pauliuyou 2008-10-15
  • 打赏
  • 举报
回复
File f = new File("c:\book\hey.txt");
f.getParentFile.getPath()
QAZXSW5814 2008-10-15
  • 打赏
  • 举报
回复
import java.io.*;
class lu{
public static void main(String args[]){
File ui=new File("qaz.txt");
String ii=null;

ii=ui.getAbsolutePath();

System.out.println(ii);
}}

结果:/windows/E/pbi/qaz.txt
cuijie_cn 2008-10-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 chendabian 的回复:]
2 8楼 结合起来看 就没错了
[/Quote]
~
ZHANGBINFLY 2008-10-14
  • 打赏
  • 举报
回复
up,学习了
cupoy 2008-10-14
  • 打赏
  • 举报
回复
8楼正确
chendabian 2008-10-14
  • 打赏
  • 举报
回复
2 8楼 结合起来看 就没错了
cydp007 2008-10-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 renmms 的回复:]
2楼正解!

8楼的会在字符串多加一个空格,表面上实现,其实不然
[/Quote]

我失误了..换成
"\\" + fileStr, ""
就行了.
renmms 2008-10-14
  • 打赏
  • 举报
回复
2楼正解!

8楼的会在字符串多加一个空格,表面上实现,其实不然
cydp007 2008-10-14
  • 打赏
  • 举报
回复
这样OK..

import java.io.File;

public class Filepath {

public static void main(String[] args) {
String fileStr = "text.txt";
File file = new File(fileStr);
//getAbsolutePath()获得路径.
//replace 把后面换成 空 就行了
System.out.println(file.getAbsolutePath().replace("\\" + fileStr, " "));
}

}

这是结果.
E:\workspace\Csdner 
justinavril 2008-10-14
  • 打赏
  • 举报
回复
或者你split一下 再组合起来也行...
lihan6415151528 2008-10-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 coverallwangp 的回复:]
Java code
String str="c:\book\hey.txt";
int index = str.lastIndexOf("\");
String path = str.substring(0,index);
[/Quote]

正解!
justinavril 2008-10-14
  • 打赏
  • 举报
回复
首先你肯定有个File对象file,然后你会有它的绝对路径String str = file.getAbsolutePath().toString();


然后把它们转换成字符串替换嘛...


String newString = str.replaceAll(file.toString(), "");
mayuanfei 2008-10-14
  • 打赏
  • 举报
回复
晕,不好意思。没仔细看你的需求。想当然了。2楼完全正确
mayuanfei 2008-10-14
  • 打赏
  • 举报
回复
因为"\"在java中是表示转义符。所以单独输出需要用“\”再转义一下。
coverallwangp 2008-10-14
  • 打赏
  • 举报
回复

String str="c:\book\hey.txt";
int index = str.lastIndexOf("\");
String path = str.substring(0,index);
加载更多回复(1)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧