2017-09-29 4 views
-1

私は概念について深刻な助けが必要です。私は特にこのクラス上のバックグラウンド・コンテキストを与えられている:Javaでファイルクラスを使用してファイルを作成する方法はありますか?

私はこのクラスの目的を理解する必要がありますか?コンストラクタでテキストファイル(または他のタイプのファイル)を作成できますか?これは単にファイルを扱うためのものなのでしょうか?もしそうなら、それはどういう意味ですか?

何でもお手数をおかけしますようお願い申し上げます。コンストラクタを呼び出すと、ファイルシステム上のファイルを作成しないこと

File myFile = new File("myFile.txt"); 
myFile.createNewFile(); 

注:

は、あなたがファイルシステム上のファイルを作成するためにjava.io.Fileを使用することができ、あなたに

+4

あなたはそのドキュメントを見ましたか?あなたは情報源(本、グーグル、公式文書)をチェックしましたか? – Stultuske

+1

この記事を見てください:https://stackoverflow.com/questions/6142901/how-to-create-a-file-in-a-directory-in-java –

+2

いいえ: 'File'はもっと似ています'/ foo/bar/something.txt'のようなパスの表現です。これは存在してもいなくてもかまいません(そして 'File.exists()'メソッドを使って確認できます) 'FileOutputStream'や' FileWriter'のようなものを使ってファイルを作ることができます。パラメータを指定し、表現されたパスのファイルに書き込みます(可能な場合) –

答えて

1

ありがとうございます。空のファイルを作成するには、createNewFile()メソッドを呼び出す必要があります。

Fileは、単にファイル自体のものではなく、ファイルの場所の抽象化を表しています。あなたはおそらく欲しい

がファイルへの書き込みコンテンツにあなたをできるようにするクラスを使用することがあるなど、exists()delete()length()

    それはパスで識別されるファイルに対する操作が付属しています
  • テキストを書く場合は、Writerインターフェイスを使用する必要があります。
  • バイナリコンテンツを作成する場合は、OutputStreamインターフェイスを使用する必要があります。

クラスFileWriterFileOutputStreamは、それぞれ、一緒にFileWriter/OutputStream概念をリンクするものです。これらのクラスはファイルシステム上にファイルを作成します。

FileWriter myFileWriter = null; 
    File myFile = new File("myFile.txt"); 
    try { 
     // file is created on the file-system here 
     myFileWriter = new FileWriter(myFile); 

     myFileWriter.write("hello"); 
    } finally { 
     if (myFileWriter != null) { 
      myFileWriter.close(); 
     } 
    } 
1

あなたは新しいFiles.createFileメソッドを使用して、Javaの7以降を使用している場合は、File.createNewFile方法を使用してファイルを作成する、またはすることができます。

古いFileクラスと新しいPathクラスの違いは、前者の方が、filsystem上のファイルへのパスとそれに対する操作が混在していることです。後者はパス自体を表していますが、それを照会してその構造を分析する必要があります。

関連する問題