无法使用Netbeans从当前目录中的Java文件打开文件

时间:2015-10-28 12:40:41

标签: java netbeans apache-poi

我正在编写一个Java代码,它从excel表读取数据并在Jframe中显示内容。为此,我使用的是apache-poi。这是我的代码

FILE *fp;
char *line=NULL;
size_t len=0;
ssize_t read;
char subword[7];

// path to file
const char filename[]="/etc/sysconfig/..." 

fp=fopen(filename, "w");

while((read = getline(&line, &len, fp)) != -1) {
    memcpy(subword, &line[0], 6);
    subword[6]='\0';
    if(strcnp("IPADDR", subword) == 0)
    {
        // here I have a pointer to the line (variable "line") I want to replace
        // the line looks like this "IPADDR=xxx.xxx.xxx.xxx"
        // what to do here??? how to replace the ip??

    }
}

这是我的文件路径enter image description here

我无法读取该文件。请告诉我如何纠正这个问题。

2 个答案:

答案 0 :(得分:1)

我不使用Netbeans,但据我所知,它在某些情况下表现出与Eclipse相同的行为。

public static String fileToBeRead="src/online/exam/Read.xls";

为什么:

  • /online.exam/Read.xls将转换为C:\ online.exam \ Read.xls。留下第一个斜杠使路径与工作目录相对应(截图中的Online.Exam根目录)
  • src因为我猜Netbeans也在子目录中分隔源和二进制文件。更好的方法可能是将Read.xls放入与Libraries和Source Packages处于同一级别的目录“data”(然后路径将是data / Read.xls)。
  • 在线/考试而不是online.exam,因为在线考试是分为2个目录的包名称

答案 1 :(得分:0)

我认为你混淆了Netbeans项目结构和实际的物理文件布局。

路径/online.exam/Read.xls似乎是Netbeans声明存在包含文件online.exam的项目Read.xls的方式。

但是,Java代码不了解Netbeans项目结构,因此无法在此位置找到该文件。

您可以尝试以下任一方法:

  • 使用相对路径,IDE通常会在项目的根文件夹中启动应用程序,因此只需Read.xls(没有任何斜杠)的路径就可以在这里工作

  • 使用绝对路径。为此,您需要找出文件系统中文件所在的位置并指定此路径,即与在Microsoft Excel或LibreOffice中打开文件时指定的路径相同。