2017-03-03 10 views
3

これを動作させるためにいくつかの異なる方法を試しましたが、どれもそれらを持っていません。私は、Javaのフォルダ内にファイルを作成しようとしています。プロジェクトには、お互いに関係するいくつかのテキストファイルが必要です。すべてのファイルを1つのフォルダにまとめて管理するほうが、管理しやすくなります。理想的には、このフォルダはscr/の外部に格納されます。それは(私は最初のファイルの存在を確認します)のためにsrcフォルダの外にフォルダを作成します

は、ここに私の現在のコードです:しかし

File testFile = new File("\\appts\\Appointments" + name + ".txt"); 
try { 
    testFile.createNewFile(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

、私は、コードを実行しようとすると、私はIOExceptionが得られます。私はそれが上にある方法を試しました、また/appts/Appointmentsappts/Appointmentsappts\\Appointments。私はオンラインで検索しようとしましたが、うまくいきませんでした。

編集:

ここ
Project_Folder 
    src 
     com 
      weebly 
       roboticplayer 
        appointmentbook 
         CLASSES 

が、私はそれを見てみたい方法です::ここに私のプロジェクトのセットアップが現在どのように見えるかです

Project_Folder 
    src 
     com 
      weebly 
       roboticplayer 
        appointmentbook 
         CLASSES 
    appts 
+0

例外の完全なスタックトレースは何ですか? –

+0

あなたはどのOSを使用していますか? – smttsp

+0

'にjava.io.IOException:システムがパスを見つけることができませんが、' 'java.io.WinNTFileSystem.createFileExclusively(ネイティブメソッド)で' 'java.io.File.createNewFileで(不明なソース)specified' 'com.weebly.roboticplayer.appointmentbook.AppointmentRunner.main(AppointmentRunner.java:55)' ライン55で: 'testFile.createNewFile();' OSは、Windows 10で、IDEは、だから、Eclipseの – RoboticPlayer

答えて

4

これを行うには2つの簡単な方法があります。

1)絶対パス

"C:\\users\\....\\parent_folder\\filename.txt"; 

2)相対パス、

. (Single dot) is current directory 
..(double dots) is parent directory 

たとえば、プロジェクトフォルダの下にテキストファイルを作成したいです。そしてあなたのファイル構造は次のとおりです。

Project_folder 
    src 
     Java_main_file.java 
    appts 

あなたはfilenameを使用してファイルを作成し、その後Java_main_file.java

String filename = "..\\appts\\filename.txt" 

からapptsの下にファイルを作成したいです。ここにはcreate a text fileへのリンクがあります。

ファイルを作成するフォルダが存在することを確認する必要があります。存在しない場合は、エラーが発生します。

+0

しかし、私の質問はどのようにフォルダを作るのかということでした。あなたは、フォルダにファイルを置く方法を教えてくれました。これは役に立ちますが、私はまだどのようにフォルダを作るのか分かりません。私は 'testFile.mkdir();'を呼び出そうとしましたが、何もしませんでした。 – RoboticPlayer

+0

'Project_folder'の下に' appts'フォルダを作成したいとします。 'new File(" appts \\ ")。mkdirs()'はフォルダを作成します。 – smttsp

+0

私はそれを見たいと思う方法で投稿を編集しました。それはコンパイルされ、正常に動作しますが、ファイルやフォルダが見つかりません。 – RoboticPlayer

0

ファイルと存在しない親ディレクトリを1つの手順で作成することはできませんが、最初に親ディレクトリを作成してFile.mkdirs()で作成し、ファイルを作成することができます。

0

JDK7を使用している場合は、nioパッケージを使用できます。

Path path = Paths.get("C:\\appts\\Appointments"); 
Files.createDirectories(path); 

あなたの現在のフォルダへの相対パスをしたい場合は:あなたがそのファイルオブジェクトが必要な場合

FileSystems.getDefault().getPath("appts", "Appointments").toAbsolutePath().toString(); 

:あなたは絶対パス名を表示したい場合は

FileSystems.getDefault().getPath("appts", "Appointments"); 

FileSystems.getDefault().getPath("appts", "Appointments").toFile(); 

You cまた、AbsolutePath()の呼び出しの後に.toFile()を実行します。

関連する問題