7

Windows システムに xampp をインストールし、Linux システムに lampp をインストールしました。Java を使用して、「 http://localhost/ 」という場所にフォルダーを作成したいと考えています。私は次のことをしました:

dirName = new File("http://localhost/"+name);
if(!dirName.exists()) {
    dirName.mkdir();
}

することは可能ですか?アイデアは、プログラムでその場所にいくつかのファイルをダウンロードすることです。ダウンロードは機能していますが、 経由でアクセスできるようにフォルダを作成するにはどうすればよいですかhttp://example.com/name。これは、ユーザー関連のコンテンツを追跡するために必要です。lampp が既にインストールされている apache Web サーバーにアクセスできます。wgetフォルダーを作成し、フォルダーとその中のコンテンツにプログラムでアクセス許可を割り当てて、保存されたコンテンツをそこからメソッドを使用してダウンロードできるようにして、そのフォルダーにダウンロードを保存するにはどうすればよいですか。

4

3 に答える 3

13

FileAPIを使用しないでください。それは深刻なファイルシステム作業のための不正行為に乗っています。

たとえば、ディレクトリの作成が失敗した場合、.mkdir()メソッドは次の値を返します...ブール値!例外はスローされません。

代わりにファイルを使用してください。

たとえば、ディレクトリを作成するには、次のようにします。

// Throws exception on failure
Files.createDirectory(Paths.get("/the/path"), 
      PosixFilePermissions.asFileAttribute(      
         PosixFilePermissions.fromString("rwxr-x---")
      ));
于 2013-01-14T20:18:57.063 に答える
2

Java では、次のようにして、システム上の任意の書き込み可能なディレクトリにファイルを作成できます。

File file1 = new File("/var/www/newDirectory/");
file1.mkdirs();

次に、そのディレクトリにファイルを作成するには、次のようにします。

File file2 = new File(file1.getAbsolutePath() + "newFile.txt"); // You may need to add a "File.seperator()" after the "file1.getAbsolutePath()" if the trailing "/" isn't included
if (file2.exists() == false) {
    file2.createNewFile();
}

ファイルが公開されていることを確認するには、ファイルに読み取り権限を追加する必要があります。

file2.setReadable(true, false);

Apache では、ファイルを利用可能にしたいディレクトリを指す仮想ホストを設定できます。デフォルトでは、debian Linux では/var/www.

于 2013-01-14T20:09:40.390 に答える