2016-10-25 15 views
-4

JVMにメモリ制限があります.1GBを超えるサイズの大きなファイルを読み込み、この状況でJVMの仮想メモリを変更できない別の場所に保存する場合は、JAVAはディスク内のファイルの物理アドレスを取得できませんか?

+1

いいえ、Javaはスワップのメカニズムを持っていません。しかし、あなたのオペレーティングシステムはほぼ確実です。最後に、大きなファイルをメモリに読み込んで別の場所に保存する理由はありません。 –

+0

あなたはあなたの質問を言い換えるべきです - それは質問の本文とは異なるです。あなたは、ファイルの場所、JVMのメモリの制限または何か他のことについて質問していますか? – Rob

+1

['Files.copy'](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#copy-java.nio.file.Path-java)を使用してください。 nio.file.Path-java.nio.file.CopyOption ...-)または['Files.move'](https://docs.oracle.com/javase/8/docs/api/java/nio/file) /Files.html#move-java.nio.file.Path-java.nio.file.Path-java.nio.file.CopyOption...-)。 – 4castle

答えて

1

Files.move()でドキュメントを読む時間。あなたは は、同じファイル名を維持する、とのその 名前の既存のファイルを置き換え、我々は新しいディレクトリにファイルを移動する必要があるとし、また

...メモリにファイルを読む必要はありませんディレクトリ:

Path source = ... 
Path newdir = ... 
Files.move(source, newdir.resolve(source.getFileName()), REPLACE_EXISTING); 

パラメータ:

ソース

the path to the file to move target - the path to the target file (may be associated with a different provider to the source path) 

オプション

options specifying how the move should be done 

戻り

the path to the target file 
関連する問題