Java IO 流 - FileReader
20200706 大雨
/**
* 一个字符一个字符地读, 如果是流的末尾, 返回-1, 否则返回一个字符的值.
**/
public int read() throws IOException;
FileReader reader = null;
try {
File file = new File("hello1.txt");
reader = new FileReader(file);
int data;
while ((data = reader.read())!=-1) {
System.out.print((char) data);
}
} catch (FileNotFoundException e) {
Logger.getGlobal().severe("file "+file.getName()+" ("+file.getAbsolutePath()+") doesn't exist.");
e.printStackTrace();
} catch (IOException e) {
Logger.getGlobal().severe("can't read from file "+file.getName()+" ("+file.getAbsolutePath()+").");
e.printStackTrace();
} finally {
try {
if (reader!=null)
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 将数据读入一个数组中. 在 得到输入前|发生IO错误前|到达流的结尾之前, 这个方法会阻塞.
*
* @param cbuf 目标缓存数组
*
* @return 读到的字符的数量, 如果到达流的尾部, 返回 -1
*
* @exception IOException 如果发生IO错误
**/
public int read(char cbuf[]) throws IOException;
FileReader reader = null;
try {
File file = new File("hello1.txt");
reader = new FileReader(file);
char[] cbuf = new char[5];
while ((reader.read(cbuf))!=-1) {
System.out.print(new String(cbuf));
}
} catch (FileNotFoundException e) {
Logger.getGlobal().severe("file "+file.getName()+" ("+file.getAbsolutePath()+") doesn't exist.");
e.printStackTrace();
} catch (IOException e) {
Logger.getGlobal().severe("can't read from file "+file.getName()+" ("+file.getAbsolutePath()+").");
e.printStackTrace();
} finally {
try {
if (reader!=null)
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public int read(char cbuf[], int off, int len) throws IOException;
这个方法不大用的.