| FileSample.java |
|---|
package first.java.unit14.model;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
// ファイルの入出力を行う簡単なサンプル
public class FileSample {
// ファイル名
private String fileName;
// ファイル内容
private String[] contents;
// ファイル名を設定する
public FileSample(String fileName) {
this.fileName = fileName;
}
// ファイル名を返す
public String getFileName() {
return fileName;
}
// ファイル名を変更する
public void changeFileName(String fileName) {
this.fileName = fileName;
}
// ファイル内容を設定する
public void setContents(String[] contents) {
this.contents = contents;
}
// データを書き込みます
public void write() throws IOException {
BufferedWriter bw = null;
try {
bw = new BufferedWriter(getFileWriter());
for (int i = 0; i < contents.length; i++) {
bw.write(contents[i]); // ファイルにファイル内容を書き込む
}
bw.flush(); // バッファをフラッシュします
} catch (NullPointerException e) {
// 書き込むデータが設定されていない場合
System.out.println(fileName + ":書き込むデータが設定されていません。");
throw e;
} catch (IOException e) {
// ファイル内容の書き出しに失敗した場合
System.err.println(fileName + ":データ書き込みに失敗しました。");
throw e;
} finally {
if (bw != null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
// ファイルの作成して出力キャラクタ・ストリームを返す
private FileWriter getFileWriter() throws IOException {
FileWriter fw = null;
try {
fw = new FileWriter(fileName); // ファイル名のファイルを新規または読み込む
} catch (IOException e) {
// ファイルの書き出しまたは読み込み失敗した場合
System.err.println(fileName + ":オープンできませんでした。");
throw e;
}
return fw;
}
// データを読み込む画面に出力します
public void read() throws IOException {
List
|
| Sample14_4_1.java |
|---|
package first.java.unit14.sample;
import java.io.IOException;
import first.java.unit14.model.FileSample;
// 単位14 4時間目 サンプル1
public class Sample14_4_1 {
// ここからスタート
public static void main(String[] args) {
// ファイル内容を作成
String[] contents = { "データ内容を", "改行\nすると", "こうなります" };
FileSample fs = new FileSample("Sample14_4_1.txt");
fs.setContents(contents); // ファイル内容を設定
try {
fs.write();
} catch (IOException e) {
e.printStackTrace();
}
fs.view();
try {
fs.read();
} catch (IOException e) {
e.printStackTrace();
}
fs.view();
}
}
|
-----ファイル内容はここから----- データ内容を 改行 すると こうなります -----ファイル内容はここまで----- -----ファイル内容はここから----- データ内容を改行 するとこうなります -----ファイル内容はここまで----- |
| コンストラクタ名と引数 | 説明 |
|---|---|
| File(String path) | pathからFileクラスのオブジェクトを作成する |
| File(String path, String name) | path(ディレクトリ)からname(ファイル名)のFileクラスのオブジェクトを作成する |
| 戻り値型 | メソッド名と引数 | スローされる例外 | 説明 |
|---|---|---|---|
| String | getName() | 無し | ファイル名を返す。但しパス名は含まれない |
| String | getPath() | 無し | パス名を返す |
| String | getAbsolutePath | 無し | パス付のファイル名を返す アクセスできない場合は、SecurityException例外をスローする |
| String | getParent() | 無し | 親ディレクトリ名を返す |
| File | getParentFile() | 無し | 親ディレクトリを返す |
| boolean | renameTo(File dest) | 無し | destオブジェクトのファイル名に変更し結果を返す。 セキュリティ上ファイル名を変更できない場合は、SecurityException例外をスローする。 destがnullの場合は、NullPointerException例外をスローする |
| boolean | exists() | 無し | ファイルが存在するかを返す。 セキュリティ上ファイルを参照できない場合は、SecurityException例外をスローする |
| boolean | canRead() | 無し | ファイルが読み込み可能かを返す。 セキュリティ上ファイルを参照できない場合は、SecurityException例外をスローする |
| boolean | canWrite() | 無し | ファイルが書き込み可能かを返す。 セキュリティ上ファイルを参照できない場合は、SecurityException例外をスローする |
| boolean | isFile() | 無し | ファイルかを返す。 セキュリティ上ファイルを参照できない場合は、SecurityException例外をスローする |
| boolean | isDirectory() | 無し | ディレクトリかどうかを返す。 セキュリティ上ファイルを参照できない場合は、SecurityException例外をスローする |
| boolean | isAbsolute() | 無し | ファイル名が絶対パス名かどうかを返す |
| long | length() | 無し | ファイルサイズを返す |
| boolean | delete() | 無し | ファイルを削除し結果を返す。 セキュリティ上ファイルを参照できない場合は、SecurityException例外をスローする |
| boolean | createNewFile | IOException | ファイルを作成し結果を返す。 セキュリティ上ファイルを参照できない場合は、SecurityException例外をスローする |
| boolean | mkdir() | 無し | ディレクトリを作成し結果を返す。 セキュリティ上ファイルを参照できない場合は、SecurityException例外をスローする |
| String[] | list() | 無し | ディレクトリの場合のみファイル一覧を返す。 セキュリティ上ファイルを参照できない場合は、SecurityException例外をスローする |
| Sample14_4_2.java |
|---|
package first.java.unit14.sample;
import java.io.File;
import java.io.IOException;
//単位14 4時間目 サンプル2
public class Sample14_4_2 {
// ここからスタート
public static void main(String[] args) {
File file = new File("D:\\Java", "Sample14_4_2.txt"); // ディレクトリ名とファイル名を設定
try {
file.createNewFile(); // ファイルを作成
} catch (IOException e) {
e.printStackTrace();
}
if (file.exists()) {
// ファイルが存在する場合
System.out.println("ファイル名:" + file.getName());
System.out.println("親ディレクトリ名:" + file.getParent());
System.out.println("パス名:" + file.getAbsolutePath());
}
System.out.println();
File directory = file.getParentFile(); // 親ディレクトリを取得
String[] fileNames = directory.list(); // ディレクトリのファイル名を取得
System.out.println("ファイル一覧");
for (int i = 0; i < fileNames.length; i++) {
System.out.println(fileNames[i]);
}
}
}
|
ファイル名:Sample14_4_2.txt 親ディレクトリ名:D:\Java パス名:D:\Java\Sample14_4_2.txt ディレクトリの中身一覧 Sample14_4_1.txt Sample14_4_2.txt |
| FileSample.java |
|---|
package first.java.unit14.model;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
// ファイルの入出力を行う簡単なサンプル
public class FileSample {
private File file;
// ファイル内容
private String[] contents;
// ファイル名を設定する
public FileSample(String fileName) {
file = new File(fileName);
}
// ファイル名を返す
public String getFileName() {
return file.getName();
}
// ファイル名を変更する
public void chageFileName(String fileName) {
File chageFile = new File(fileName);
file.compareTo(chageFile);
}
// ファイル内容を設定する
public void setContents(String[] contents) {
this.contents = contents;
}
// データを書き込みます
public void write() throws IOException {
BufferedWriter bw = null;
try {
bw = new BufferedWriter(getFileWriter());
for (int i = 0; i < contents.length; i++) {
bw.write(contents[i]); // ファイルにファイル内容を書き込む
}
bw.flush(); // バッファをフラッシュします
} catch (NullPointerException e) {
// 書き込むデータが設定されていない場合
System.out.println(file.getName() + ":書き込むデータが設定されていません。");
throw e;
} catch (IOException e) {
// ファイル内容の書き出しに失敗した場合
System.err.println(file.getName() + ":データ書き込みに失敗しました。");
throw e;
} finally {
if (bw != null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
// ファイルの作成して出力キャラクタ・ストリームを返す
private FileWriter getFileWriter() throws IOException {
FileWriter fw = null;
try {
fw = new FileWriter(file); // ファイル名のファイルを新規または読み込む
} catch (IOException e) {
// ファイルの書き出しまたは読み込み失敗した場合
System.err.println(file.getName() + ":オープンできませんでした。");
throw e;
}
return fw;
}
// データを読み込む画面に出力します
public void read() throws IOException {
List
|