簡體   English   中英

在Linux中使用Java Makefile時沒有這樣的文件錯誤

[英]No such file error when using a Java Makefile in Linux

我需要使用makefile編譯.java文件。 我做了一個相當簡單的但是當我運行生成的.class文件時,我收到以下錯誤

Exception in thread "main" java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:947)
at BadThread.<init>(Base.java:20)
at Base.main(Base.java:13)

我知道Makefile不是運行java代碼的最佳方法,但這是一個要求。

這是我的makefile:

JFLAGS = -g
JC = javac
.SUFFIXES: .java .class
.java.class:
$(JC) $(JFLAGS) $*.java
CLASSES = \
    Base.java 
default: classes
classes: $(CLASSES:.java=.class)
clean:
$(RM) *.class

我正在嘗試編譯的文件是這樣的:

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Base {

  public static void main(String[] args) throws IOException {
    for(int i=0;i<10;i++){
      new Thread(new BadThread("./output/"+i+".text")).start();
    }    
  }
}
class BadThread implements Runnable{
  public BadThread(String filePath) throws IOException{
    File f=new File(filePath);
    if(f.exists()==false){f.createNewFile();}
    dos=new DataOutputStream(new FileOutputStream(filePath));
  }
  private DataOutputStream dos;
  double val=0.0D;
  @Override
  public void run() {
    try{
        for(int i=0;i<1024000;i++){
          val=Math.random();
          for(int j=0;j<8;j++){
            dos.writeDouble(val+j);
          }
        }
        dos.flush();
        dos.close();
    }catch(Exception e){return;}
  }

}

您嘗試創建新文件的目錄output不存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM