Java IOストリームとファイル操作により、プロセス解析を実現します。


Java.ioパッケージにはほとんどすべての操作入力、出力に必要なクラスが含まれています。これらのすべてのストリームは、入力源と出力先を表しています。
Java.ioパッケージのストリームは、基本タイプ、オブジェクト、ローカライズされた文字セットなど、多くのフォーマットをサポートしています。
1つのストリームは、1つのデータのシーケンスとして理解され得る。入力ストリームは一つのソースからデータを読み取り、出力ストリームは一つのターゲットにデータを書き込むことを表しています。
Javaは、I/Oのための強力で柔軟なサポートを提供し、ファイル転送とネットワークプログラミングにより広く適用されます。
コンソール入力

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReaderオブジェクトが作成されたら、read()方法を使ってコンソールから文字を読み取り、またはreadline()方法で文字列を読み取ることができます。
BufferedReaderオブジェクトから1つの文字を読み取るには、read()を使用する方法があります。その文法は以下の通りです。

int read() throws IOException
read()メソッドを呼び出すたびに、入力ストリームから文字を読み出し、その文字を整数値として返します。ストリームが終了すると-1に戻ります。この方法はIOExceptionを抛り出す。
標準入力から文字列を読み取るには、BufferedReaderのreadline()メソッドを使用する必要があります。

String readLine() throws IOException
JDK 5以降のバージョンはJava Scanner類を使ってコンソールの入力を取得することもできます。
コンソール出力
これまでに紹介したように、コンソールの出力はprint()とprint()で行われます。これらの方法はクラスPrintStreamによって定義され、System.outはこのクラスのオブジェクトの一つの参照である。
PrintStreamはOutputStream類を継承し、方法write()を実現しました。このように、write()は出入りコンソールで操作することもできます。
PrintStream定義write()の一番シンプルなフォーマットは以下の通りです。

void write(int byteval)
ファイルを読み、書きます
一つのストリームは、データ系列として定義される。入力ストリームはソースからデータを読み取り、出力ストリームはターゲットにデータを書き込むために使用される。
IOストリームは、文字ストリームとバイトストリームに分けられ、文字ストリームはReaderとWriterに分けられ、バイトストリームはInputStreamとOutputStreamに分けられる。
FileInputStream
このストリームはファイルからデータを読み出すために使用され、そのオブジェクトはキーワードnewで作成できます。
オブジェクトを作成するための様々な構成方法があります。

//    1
InputStream f=new FileInputStream("c:/java/hello");
//    2
File f= new File("C:/java/hello");
InputStream out = new FileInputStream(f);
FileOutputStream
このクラスはファイルを作成してファイルにデータを書き込みます。
このストリームがファイルを開けて出力する前にターゲットファイルが存在しない場合、このストリームはファイルを作成します。
FileOutputStreamオブジェクトを作成するために使用できる2つの構成方法があります。

//    1
OutputStream f = new FileOutputStream("C:/java/hello")
//    2
File f = new File("C:/java/hello");
OutputStream f = new FileOutputStream(f);

import java.io.*;
 
public class fileStreamTest2 {
  public static void main(String[] args) throws IOException {
 
    File f = new File("a.txt");
    FileOutputStream fop = new FileOutputStream(f);
    //   FileOutputStream  ,          
 
    OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8");
    //   OutputStreamWriter  ,        ,           ,windows  gbk
 
    writer.append("    ");
    //       
 
    writer.append("\r
"); // writer.append("English"); // , , , close writer.close(); // , , fop.close(); // , FileInputStream fip = new FileInputStream(f); // FileInputStream InputStreamReader reader = new InputStreamReader(fip, "UTF-8"); // InputStreamReader , StringBuffer sb = new StringBuffer(); while (reader.ready()) { sb.append((char) reader.read()); // char StringBuffer } System.out.println(sb.toString()); reader.close(); // fip.close(); // , } }
Javaファイルのディレクトリ
ディレクトリを作成
Fileクラスにはフォルダを作成するための二つの方法があります。
mkdir()メソッドはフォルダを作成し、成功すればtrueに戻り、失敗すればfalseに戻ります。失敗は、Fileオブジェクトが指定したパスが既に存在していることを示しています。または、全パスが存在しないため、このフォルダは作成できません。
mkdirs()メソッドは、フォルダとそのすべての親フォルダを作成します。

import java.io.File;
 
public class CreateDir {
  public static void main(String args[]) {
    String dirname = "/tmp/user/java/bin";
    File d = new File(dirname);
    //       
    d.mkdirs();
  }
}
注意:JavaはUNIXとWindowsで自動的に約束通りにファイルのパスを分離します。WindowsバージョンのJavaでセパレータ(/)を使用すれば、パスは依然として正確に解析されます。
ディレクトリを読み込み
ディレクトリは他のファイルとフォルダを含むFileオブジェクトです。
Fileオブジェクトを作成してディレクトリを作成すると、isDirectory()メソッドを呼び出してtrueに戻ります。
オブジェクト上のlist()メソッドを呼び出して、その中に含まれるファイルとフォルダのリストを抽出することができます。

import java.io.File;
 
public class DirList {
  public static void main(String args[]) {
    String dirname = "/tmp";
    File f1 = new File(dirname);
    if (f1.isDirectory()) {
      System.out.println("   " + dirname);
      String s[] = f1.list();
      for (int i = 0; i < s.length; i++) {
        File f = new File(dirname + "/" + s[i]);
        if (f.isDirectory()) {
          System.out.println(s[i] + "      ");
        } else {
          System.out.println(s[i] + "      ");
        }
      }
    } else {
      System.out.println(dirname + "       ");
    }
  }
}
ディレクトリまたはファイルを削除
ファイルを削除するには、java.io.File.delete()の方法が使えます。
以下のコードはディレクトリ/tmp/java/を削除します。ディレクトリを削除する時、ディレクトリの中に他のファイルがないと正確に削除できないということを保証しなければなりません。

import java.io.File;
 
public class DeleteFileDemo {
  public static void main(String args[]) {
    //             
    File folder = new File("/tmp/java/");
    deleteFolder(folder);
  }
 
  //        
  public static void deleteFolder(File folder) {
    File[] files = folder.listFiles();
    if (files != null) {
      for (File f : files) {
        if (f.isDirectory()) {
          deleteFolder(f);
        } else {
          f.delete();
        }
      }
    }
    folder.delete();
  }
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。