JAVAテキストI/O(エッセイ)
23680 ワード
テキストI/O
ファイル名は文字列であり、Fileクラスはファイル名とそのディレクトリパスのパッケージクラスFileクラスであり、マシンに依存しない方法でマシンに依存する多くのファイルとパス名の複雑さを処理する抽象を提供するために使用されます.Fileクラスには、ファイルのプロパティを取得する方法と、ファイルとディレクトリの名前を変更、削除する方法が含まれます.ただし、ファイルの内容を読み書きする方法は含まれていません.
Fileインスタンスを構築しても、マシンにファイルは作成されません.ファイルが存在するかどうかにかかわらず、任意のファイル名のFileインスタンスを作成できます.Fileインスタンスのexists()メソッドを呼び出して、現在のディレクトリに関連するファイル名が使用されるべきかどうかを判断できます.例えばnew File("Welcome.java")/現在のディレクトリの下のファイルWelcone.javaにFileオブジェクトnew File("image/us.gif")/現在のディレクトリの下のimageディレクトリの下のファイルus.gifにFileオブジェクトを作成します.java.io.File file = new java.io.File(“image/us.gif”); LastModified()メソッドは、ファイルが最後に変更された日時を返すため、UNIX時間(1970、1、1、0:0)からのミリ秒数を計算し、new java.util.Date(file.lastModified()を使用して読み取り可能な形式で表示できます.
ファイル入出力(I/O)Scannerクラスファイルからテキストデータを読み出し、PrinterWriterクラスを使用してテキストファイルにデータを書き込みます.(I/Oと略称するデータ入出力)2種類のファイル:テキストファイルとバイナリファイルPrinterWriter書き込みjava.io.PrintWriterクラスは、ファイルを作成し、テキストファイルにデータを書き込むために使用できます.まず、1つのテキストファイルにPrintWriterオブジェクトを作成します.PrintWriter output=new PrintWriter(filename);
PrintWriterを呼び出す構築方法では、I/O例外が放出される場合があります.Javaでは、このような例外を処理するためにコードの作成を強制されます.簡単に言えば、throws Execptionをメソッドヘッダ宣言で宣言するだけです.close()メソッドを使用してファイルを閉じる必要があります.このメソッドを呼び出さないと、データはファイルに正しく保存されません.try-with-resourcesを使用してリソースtryを自動的に閉じることができます(リソースの宣言と作成){ファイルを処理するためにリソースを使用します;}
Scannerはデータを読み取ってファイルから読み取って、ファイルのためにScannerを作成する必要があります:Scanner input=new Scanner(new File);
Scannerタグベースの読取方法(nextInt,nextbyteなど)ではタグの後ろの区切り文字を読み取ることができない点に注意してください.タグベースの読取方法の後にnextLine()を呼び出し、この区切り文字からこの行の行区切り文字までの文字を読み取る方法です.int value=input.nextInt();String line=input.nextLine();テキストファイルの内容が34,567の場合、value値は34であり、lineに含まれる文字は'','5','6','7'である.キーボードから34を入力し、Enterキーを押して567を入力すると、value値は34であり、lineは空の文字列である.
Webからデータを読み込むWeb上のファイルのURLからWeb上のファイルのデータにアクセスできます.java.net.URLクラスの構築方法を使用してURLオブジェクトを作成しますAPIドキュメント:URL(String spec)Creates a URL object from the String representation.//文字列表示形式からURLオブジェクトConstructor Detail:public URL(String spec)を作成します throws MalformedURLException{ try{ URL url = new URL(“http://www.google.com/index.html”); } catch (MalformedURLException ex) { ex.printStackTrace(); } }URL文字に構文エラーがある場合は、httpのようなMalformedURLExceptionが放出されます.後に二重スラッシュが少なくなると、MalformedURLExceptionの実行エラーが発生します.URLクラスに有効なURLを認識させるには、http://_の接頭辞が必要です.ReadFileFromURL.javaを参照してください.
URLが正しく表示する場合、構造方法はjava.net.MalformedURLExceptionを放出し、与えられたURLが正しいが存在しない場合、IOExceptionを放出する.
ファイル名は文字列であり、Fileクラスはファイル名とそのディレクトリパスのパッケージクラスFileクラスであり、マシンに依存しない方法でマシンに依存する多くのファイルとパス名の複雑さを処理する抽象を提供するために使用されます.Fileクラスには、ファイルのプロパティを取得する方法と、ファイルとディレクトリの名前を変更、削除する方法が含まれます.ただし、ファイルの内容を読み書きする方法は含まれていません.
java.io.File
+File(pathname: String)
File ,
+File(parent: String, child: String)
parent File ,
+File(parent: File, child: String)
parent File , File
+exists(): boolean
File , true
+canRead(): boolean
File , true
+canWrite(): boolean
File , true
+isDirectory(): boolean
File , true
+isFile(): boolean
File , true
+isAbsolute(): boolean
File , true
+getAbsolutePath(): String
File
+getCanonicalPath(): String
getAbsolutePath()
+getName(): String
File
+getPath(): String
File
+getParent(): String
File
+lastModified(): long
+length(): long
。 , 0
+listFile(): File[]
File
+delete(): boolean
File 。 , true
+renameTo(dest: File): boolean
File dest 。 , true
+mkdir(): boolean
File 。 , true
+mkdirs():boolean
mkdir 。 ,
Fileインスタンスを構築しても、マシンにファイルは作成されません.ファイルが存在するかどうかにかかわらず、任意のファイル名のFileインスタンスを作成できます.Fileインスタンスのexists()メソッドを呼び出して、現在のディレクトリに関連するファイル名が使用されるべきかどうかを判断できます.例えばnew File("Welcome.java")/現在のディレクトリの下のファイルWelcone.javaにFileオブジェクトnew File("image/us.gif")/現在のディレクトリの下のimageディレクトリの下のファイルus.gifにFileオブジェクトを作成します.java.io.File file = new java.io.File(“image/us.gif”); LastModified()メソッドは、ファイルが最後に変更された日時を返すため、UNIX時間(1970、1、1、0:0)からのミリ秒数を計算し、new java.util.Date(file.lastModified()を使用して読み取り可能な形式で表示できます.
ファイル入出力(I/O)Scannerクラスファイルからテキストデータを読み出し、PrinterWriterクラスを使用してテキストファイルにデータを書き込みます.(I/Oと略称するデータ入出力)2種類のファイル:テキストファイルとバイナリファイルPrinterWriter書き込みjava.io.PrintWriterクラスは、ファイルを作成し、テキストファイルにデータを書き込むために使用できます.まず、1つのテキストファイルにPrintWriterオブジェクトを作成します.PrintWriter output=new PrintWriter(filename);
java.io.PrintWriter
+PrintWriter(file: File)
PrintWriter
+PrintWriter(filename: String)
PrintWriter
+print(s: String): void
+print(c: char): void
+print(cArray: char[]): void
+print(i: int): void
int
+print(l: long): void
long
+print(f: float): void
float
+print(d: double): void
double
+print(b: boolean): void
boolean
PrintWriterを呼び出す構築方法では、I/O例外が放出される場合があります.Javaでは、このような例外を処理するためにコードの作成を強制されます.簡単に言えば、throws Execptionをメソッドヘッダ宣言で宣言するだけです.close()メソッドを使用してファイルを閉じる必要があります.このメソッドを呼び出さないと、データはファイルに正しく保存されません.try-with-resourcesを使用してリソースtryを自動的に閉じることができます(リソースの宣言と作成){ファイルを処理するためにリソースを使用します;}
:
try(
// ,
java.io.PrintWriter output = new java.io.PrintWriter(file);
) {
output.print("John T amith");
}
, close() 。
AutoCloseable , PrintWriter, close() 。
Scannerはデータを読み取ってファイルから読み取って、ファイルのためにScannerを作成する必要があります:Scanner input=new Scanner(new File);
java.util.Scanner
+Scanner(source: File)
Scanner,
+Scanner(source: String)
Scanner,
+close()
Scanner
+hasNext(): boolean
Scanner , true
+next(): String
Scanner
+nextLine(): String
Scanner ,
+nextByte(): byte
Scanner byte
+nextShort(): short
Scanner short
+nextInt(): int
Scanner int
+nextLong(): long
Scanner long
+nextFloat(): float
Scanner float
+nextDouble(): double
Scanner double
+useDelimiter(pattern: String): Scanner
Scanner , Scanner
Scannerタグベースの読取方法(nextInt,nextbyteなど)ではタグの後ろの区切り文字を読み取ることができない点に注意してください.タグベースの読取方法の後にnextLine()を呼び出し、この区切り文字からこの行の行区切り文字までの文字を読み取る方法です.int value=input.nextInt();String line=input.nextLine();テキストファイルの内容が34,567の場合、value値は34であり、lineに含まれる文字は'','5','6','7'である.キーボードから34を入力し、Enterキーを押して567を入力すると、value値は34であり、lineは空の文字列である.
Webからデータを読み込むWeb上のファイルのURLからWeb上のファイルのデータにアクセスできます.java.net.URLクラスの構築方法を使用してURLオブジェクトを作成しますAPIドキュメント:URL(String spec)Creates a URL object from the String representation.//文字列表示形式からURLオブジェクトConstructor Detail:public URL(String spec)を作成します throws MalformedURLException{ try{ URL url = new URL(“http://www.google.com/index.html”); } catch (MalformedURLException ex) { ex.printStackTrace(); } }URL文字に構文エラーがある場合は、httpのようなMalformedURLExceptionが放出されます.後に二重スラッシュが少なくなると、MalformedURLExceptionの実行エラーが発生します.URLクラスに有効なURLを認識させるには、http://_の接頭辞が必要です.ReadFileFromURL.javaを参照してください.
import java.net.MalformedURLException;
import java.net.URL;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class ReadFileFromURL {
public static void main(String[] args) {
System.out.println("Enter a URL:");
// URL
String URLString = new Scanner(System.in).next();
try {
URL url = new URL(URLString);
int count = 0;
// URL openStream() , Scanner
Scanner input = new Scanner(url.openStream());
while (input.hasNext()) {
String line = input.nextLine();
count += line.length();
}
System.out.println("The file size is " + count + " characters");
}
catch (MalformedURLException ex) {
System.out.println("Invalid URL");
}
catch (IOException ex) {
System.out.println("I/O Errors: no such file");
}
}
}
URLが正しく表示する場合、構造方法はjava.net.MalformedURLExceptionを放出し、与えられたURLが正しいが存在しない場合、IOExceptionを放出する.