import java.io.File;
import java.util.Scanner;
public class TestScanner {
public static void main(String[] args) throws Throwable {
Scanner sc = new Scanner(new File("input.txt"), "UTF8");
String inputStr = sc.useDelimiter("\\Z").next();
sc.close();
System.out.println(inputStr);
}
}
useDelimiter 是設置讀取的正規表示式分隔符,這裡可以用 "\\A" 或 "\\Z"\A : 輸入的開始。
\Z : 輸入的結尾去掉結尾符號的部分。
Java 7 readAllBytes
import static java.nio.file.Files.readAllBytes;
import static java.nio.file.Paths.get;
public class TestReadAllBytes {
public static void main(String[] args) throws Exception {
String inputStr = new String(readAllBytes(get("input.txt")), "UTF8");
System.out.println(inputStr);
}
}
Apache Commons IO
import java.io.File;
import org.apache.commons.io.FileUtils;
public class TestReadFileToString {
public static void main(String[] args) throws Throwable {
File file = new File("input.txt");
String inputStr = FileUtils.readFileToString(file, "UTF8");
System.out.println(inputStr);
}
}
DataInputStream available
import java.io.DataInputStream;
import java.io.FileInputStream;
public class TestDataInputStream {
public static void main(String[] args) throws Exception {
FileInputStream fileStream = new FileInputStream ("input.txt");
DataInputStream dis = new DataInputStream (fileStream);
byte[] datainBytes = new byte[dis.available()];
dis.readFully(datainBytes);
dis.close();
String inputStr = new String(datainBytes, "UTF8");
System.out.println(inputStr);
}
}
0 回應:
張貼留言