web-dev-qa-db-ja.com

java.io.FileNotFoundException:(そのようなファイルやディレクトリはありません)Eclipseから実行した場合

ファイルに書き込み、コンソール出力が必要です。

// TODO Create a game engine and call the runGame() method
public static void main(String[] args) throws Exception { 
    NewGame myGame = new TheGame().new NewGame();
    myGame.runGame();
    PrintStream out = new PrintStream(new FileOutputStream("output.txt"));
    System.setOut(out);
}

これによりコンソール出力が得られますが、次の例外がスローされます。

Java.io.FileNotFoundException: TheGame.txt (No such file or directory)
    at Java.io.FileInputStream.open(Native Method)
    at Java.io.FileInputStream.<init>(FileInputStream.Java:138)
    at game.main(TheGame.Java:512)

ファイルは存在します。

8
user2644085

ファイルはプロジェクトのルートに含まれている必要があります。

Eclipseでプロジェクトを実行する場合、作業ディレクトリはプロジェクトの最上位レベルです。

プロジェクトを右クリックし、[新規]> [ファイル]をクリックして、「TheGame.txt」という名前のtxtファイルを作成します。

15
// Save Image Code
btnsave = (ImageButton) findViewById(R.id.imageButton1);
btnsave.setOnClickListener(new View.OnClickListener(){

    @Override
    public void onClick(View v){
        //String state = Environment.getExternalStorageState();
        URL url=null;
        try {
            url = new URL (testimage);
        } catch (MalformedURLException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        } 

        try {
            input = url.openStream();
        } catch (IOException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        } 

        String root = Environment.getExternalStorageDirectory().toString();

        File newDir = new File(root + "/KalyanPusti_Images");
        newDir.mkdirs();

        int n = 10000;
        Random gen = new Random();
        n = gen.nextInt(n);
        String fotoname = tittle+".jpg";

        File file = new File (newDir, fotoname);

        try {     
            File storagePath = Environment.getExternalStorageDirectory();
            FileOutputStream output = new FileOutputStream (file);

            try {         
                byte[] buffer = new byte[15000];         
                int bytesRead = 0;         
                while ((bytesRead = input.read(buffer, 0, buffer.length)) >= 0){
                    output.write(buffer, 0, bytesRead);         
                }  
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }   
            finally{         
                try {
                    output.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }     
            } 
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

        finally{     
            try {
                input.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
        }  
    }  
}); 

public File getTempFile(Context context, String url) {
    File file =null;
    try {
        String fileName = Uri.parse(url).getLastPathSegment();
        file = File.createTempFile(fileName, null, context.getCacheDir());
    } catch (IOException e) {
         // Error while creating file
    }
    return file;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.fullimage, menu);
    return true;
}
1
dhara