Fileクラス
createNewFileメソッド
自身の抽象パス名が示すファイルを作成します。
createNewFile()
ぶっちゃけそれほど使う
メソッドでもない。
ぶっちゃけたわね。
FileOutputStreamクラスに Fileクラスのインスタンスを渡すと、
ファイルの作成から書込みまで行えます。
「ファイルを作るだけ」というシチュエーションでないと、なかなか出番が無いですね。
でもここは気を取り直して。
目次
1. createNewFileメソッド
抽象パス名が示すファイルを作成します。
public boolean createNewFile()
throws java.io.IOException
例外処理を記述する場合には、以下をインポートする必要があります。
例外のimport
import java.io.IOException;
IOException は、チェック例外の仲間なので、必ず例外処理を記述しなければなりません。
try-catch で受けるといいでしょう。
ご参照↓
第十九章 Exception(例外)
try-catch
うわっ。
面倒なやつだ!
いやいや。
try-catch でくくって
IOException って書くだけだろう?
2. サンプルコード
Sample07_01 では、wsディレクトリに、pathname.txt というファイルを作成しています。
import java.io.IOException; と try-catch が必要です。
//Sample07_01.java
import java.io.File;
import java.io.IOException;
class Sample07_01{
public static void main(String[] args){
File file = new File("pathname.txt");
try{
file.createNewFile();
}catch(IOException e){
System.out.println(e);
}
}
}
ws ディレクトリ
コマンドライン
>cd ws
ws>javac Sample07_01.java
ws>java Sample07_01
ws>
ws ディレクトリ
Sample07_01NG1 では、実在しないフォルダにファイルを作成しようとしています。
この為、例外 IOException が発生しました。
//Sample07_01NG1.java
import java.io.File;
import java.io.IOException;
class Sample07_01NG1{
public static void main(String[] args){
File file = new File("dir01/pathname.txt");
try{
file.createNewFile();
}catch(IOException e){
System.out.println(e);
}
}
}
コマンドライン
>cd ws
ws>javac Sample07_01NG1.java
ws>java Sample07_01NG1
java.io.IOException: 指定されたパスが見つかりません。
ディレクトリまでは
作ってくれないんスね。
正直もどかしい時もある。
このあと紹介する mkdirメソッドや、mkdirsメソッドと組み合わせて使うといいでしょう。
お疲れ様でした。