用Java写入文件:找不到指定的路径

IAm*_*aja 3 java io logging file-writing

我在使用Java写一个简单的文本文件时遇到了很大的困难.我为IO异常所做的每一次搜索都提出了很多建议,但没有一个适用于这种情况.

这是我的项目结构:

MyEclipseProject/
    src/
        com.myprogram.utils
            MyProgram
    bin/
Run Code Online (Sandbox Code Playgroud)

我的MyProgram.java代码:

package com.myprogram.utils;

import java.io.FileWriter;

public class MyProgram
{
    public static void main(String[] args)
    {
        FileWriter oWriter = new FileWriter(new File("logs/system.log"));
        oWriter.write("This never gets logged because JRE can't find the file");
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到的异常消息说明:logs\system.log(系统找不到指定的路径).

我第一次尝试时,没有首先创建logs/目录及其后续日志文件.我的理解是,如果Java找不到该文件,它会为你创建它.

我现在放置了一个logs文件夹 - 带有空白system.log文件 - 里面:(1)我的项目root(MyEclipseProject),(2)src/文件夹,(3)src/com.myprogram.utils包,和(4)bin文件夹,我得到了同样的确切错误.我想知道:我可以继续操作OS/persmissions吗?我的应用程序可能会尝试创建文件夹和日志文件,但是被Windows 7拒绝这样做吗?如果是这样,我该怎么办?!?!

如果没有,我在哪里安置logs/system.log

谢谢你清楚这一点!

dog*_*ane 6

要查看您所在的目录,请添加以下print语句:

System.out.println(new File(".").getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)

这将告诉您应该在何处创建logs目录.