创建的文件看不见,求救!!!

创建的文件看不见,求救!!!

public class FileTest {


public static void main(String[] args) {

File file=new File("Macintosh HD⁩\\用户\\liuyong\\File\\Monday.docx");

if(!file.exists()) {

try {

file.createNewFile();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if(file.exists()) {

System.out.println("创建文件成功!"+"\n"+"文件名称:"+file.getName()+"\n"+"文件上一级目录:"+file.getParent());

能运行成功。但是看不到里面的创建的文件啊,点进去是空的。 还有就是运行后这样显示的

创建文件成功!

文件名称:Macintosh HD⁩\用户\liuyong\File\Monday.docx

文件上一级目录:null

文件名称怎么是一个路径名?上一级目录又是null?

mac系统!

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

5回答
好帮手慕小班 2019-07-17 18:05:30

        同学你好,1、这里请同学再试一下,把路径换成相对路径试一下。把前面的内容都去掉。如果是用eclipse,然后去eclipse的工程名所在的目录下看文件是否出现了

http://img1.sycdn.imooc.com//climg/5d2ef2860001913f06220151.jpg

    2、将File中的路径改为 "/Macintosh HD/用户/liuyong/File/Monday.docx"这样来试一下!

    3、建议同学去网上下载一个Mac系统下的免安装版的Eclipse哦,直接解压就可以用的哦!

        如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

提问者 常善 2019-07-17 17:58:52

http://img1.sycdn.imooc.com//climg/5d2eebd30001c8d605100454.jpg

http://img1.sycdn.imooc.com//climg/5d2eebd3000152b120661144.jpg

程序能运行。但是并没有按照分隔符进行文件创建,而是把整个字符串当作一个文件的名称来创建一个相对路径的文件http://img1.sycdn.imooc.com//climg/5d2eecd400010cf113820500.jpg,之前老师说相对路径创建的文件是默认在工程目录下的。 但是我这个mac看不到这个目录,而是在eclipse-workspace这个文件夹下面 。最后还有一个问题,就是Eclipsse安装以后在应用程序里面找不到。 每次打开这个软件都要去找原始安装包重新安装一次  然后安装以后就在这里Macintosh H\\用户\\liuyong http://img1.sycdn.imooc.com//climg/5d2eef9600014ba713720486.jpg然后点进去啥都没有,点进去就有一个app图标。但是打不开 http://img1.sycdn.imooc.com//climg/5d2ef0680001280c15240432.jpg下面的workspace点进去就是所有的java工程文件。就没有了。你们的mac也是这样的吗?我下载的是eclipse 2019-3最新版的。



好帮手慕小班 2019-07-17 16:47:00

        同学你好,因为老师在window系统上试着没有问题,怀疑是分隔符的问题,这里同学试一下如下方法,看是否能解决这个问题

public class FileTest {
	public static void main(String[] args) {
		String separator = File.separator;
		File file = new File("Macintosh HD"+separator+"用户"+separator+"liuyong"+separator+"File"+separator+"Monday.docx");
		if (!file.exists()) {
			try {
				file.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if (file.exists()) {
			System.out.println("创建文件成功!" + "\n" + "文件名称:" + file.getName() + "\n" + "文件上一级目录:" + file.getParent());
		}		
	}
}

         如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 常善 #1
    仍然不是分隔符的问题。老师看我的截图
    2019-07-17 17:34:46
好帮手慕小班 2019-07-17 12:23:55

        同学你好,建议将文件分隔符改为"/"来试试哦!例如

http://img1.sycdn.imooc.com//climg/5d2ea2c70001f1f806110144.jpg

        如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 常善 #1
    改成/直接异常。 改成\\才能运行成功。
    2019-07-17 14:25:34
慕运维lh 2019-07-16 21:22:48

http://img1.sycdn.imooc.com//climg/5d2dcf700001627507120050.jpg

你创建这个文件首先你要保证你要前面这些目录要存在。这里应该你没有创建这些目录

  • 提问者 常善 #1
    我是先创建了File文件。 再复制显示简介里面的地址。怎么可能没这个目录。
    2019-07-16 21:36:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师