第3章 输入输出

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

3.1BufferedInputStream类——缓冲字节输入流125

3.1.1构造方法——BufferedInputStream类的构造方法125

3.1.2available方法——返回可以读取的估计字节数125

3.1.3close方法——关闭此输入流并释放所有关联的系统资源126

3.1.4mark方法——记录当前指针所在的位置126

3.1.5markSupported方法——测试是否支持mark()方法和reset()方法127

3.1.6read方法——从输入流中读取数据128

3.1.7reset方法——重新定位输入流129

3.1.8skip方法——跳过并丢弃指定字节数量的数据129

3.2BufferedOutputStream类——缓冲字节输出流130

3.2.1构造方法——BufferedOutputStream类的构造方法130

3.2.2flush方法——刷新此缓冲输出流131

3.2.3write方法——向输出流中写数据131

3.3BufferedReader类——缓冲字符输入流133

3.3.1构造方法——BufferedReader类的构造方法133

3.3.2close方法——关闭流并释放与之关联的所有资源133

3.3.3mark方法——记录当前读指针所在的位置134

3.3.4markSupported方法——判断指定流是否支持mark()操作134

3.3.5read方法——从缓冲输入流中读取字符135

3.3.6readLine方法——读取一个文本行136

3.3.7ready方法——判断此流是否已准备好被读取137

3.3.8reset方法——重定位指针137

3.3.9skip方法——跳过指定数量的字符138

3.4BufferedWriter类——缓冲字符输出流138

3.4.1构造方法——BufferedWriter类的构造方法139

3.4.2close方法——关闭流139

3.4.3flush方法——刷新缓冲区139

3.4.4newLine方法——写入一个行分隔符140

3.4.5write方法——向缓冲区中写数据141

3.5DataInputStream类——数据输入流142

3.5.1read方法——读取一定数量的字节143

3.5.2readByte方法——读取此操作需要的字节145

3.5.3readBoolean方法——读取一个布尔值145

3.5.4readchar方法——读取此操作需要的字符145

3.5.5readDouble方法——读取一个double值146

3.5.6readFloat方法——读取一个float值146

3.5.7readFully方法——读取一些字节147

3.5.8readInt方法——读取一个int值148

3.5.9readLong方法——读取一个long值149

3.5.10readShort方法——读取一个short值149

3.5.11readUnsignedByte方法——读取无符号的byte值149

3.5.12readUnsignedShort方法——读取无符号的short值150

3.5.13readUTF方法——读取UTF-8编码的字符串150

3.5.14skipBytes方法——在输入流中跳过数据的n个字节152

3.6DataOutputStream类——数据输出流153

3.6.1flush方法——清空此数据输出流153

3.6.2size方法——返回计数器written 的当前值154

3.6.3write方法(流输出方法)155

3.6.4writeBoolean方法——将boolean值写入输出流156

3.6.5writeByte方法——将byte值写入输出流156

3.6.6writeBytes方法——将字符串中每一个字符的低字节的内容写入输出流157

3.6.7writeChar方法——将char值写入输出流157

3.6.8writechars方法——将字符串每个char值写入输出流158

3.6.9writeDouble方法——将double值写入输出流158

3.6.10writeFloat方法——将float值写入输出流159

3.6.11writeLong方法——将long值写入输出流160

3.6.12writeShort方法——将short值写入输出流160

3.6.13writeUTF()方法——将UTF-8编码字符写入输出流161

3.7File类——文件类161

java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录。

File类只用于表示文件(目录)的信息(名称、大小等),换句话说只能访问文件或目录的相关属性,不能对文件的内容进行访问。

3.7.1构造方法——File类的构造方法161

File(String pathname)

通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例

提示:抽象路径应尽量使用相对路径,并且目录的层级分隔符不要直接写”/”或”\”,应使用File.separator这个常量表示,以避免不同系统带来的差异。

File的另一个常用构造方法:

File(File parent,String child)

根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。

3.7.2常量——File类的常量162

3.7.3canExecute方法——判读文件是否可执行162

3.7.4canRead方法——判断文件是否可读162

3.7.5canWrite方法——判断文件是否可写163

3.7.6compareTo方法——比较文件对象163

3.7.7createNewFile方法——创建新的文件164

File的createNewFile方法用于当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件

booleancreateNewFile()

返回值:如果指定的文件不存在并成功地创建,则返回 true;如果指定的文件已经存在,则返回 false 。

packagecom.souvc.api;importjava.io.File;importjava.io.IOException;importorg.junit.Test;publicclassTestFile {

@TestpublicvoidtestCreateNewFile()throwsIOException {

File file=newFile("JavaApi" + File.separator + "Hello.txt");//若不存在,就创建该文件if(!file.exists()) {

file.createNewFile();

}

}

}

3.7.8createTempFile方法——创建临时文件164

3.7.9delete方法——删除文件167

File的delete方法用于删除此抽象路径名表示的文件或目录。

booleandelete()

返回值:当且仅当成功删除文件或目录时,返回 true;否则返回 false。

需要注意的是,若此File对象所表示的是一个目录时,在删除时需要保证此为空目录才可以成功删除(目录中不能含有任何子项)。

packagecom.souvc.api;importjava.io.File;importjava.io.IOException;importorg.junit.Test;publicclassTestFile {

@TestpublicvoidtestDeleteFile() {

File file=newFile("JavaApi" + File.separator + "Hello.txt");

file.delete();

}

}

packagecom.souvc.api;importjava.io.File;importjava.io.IOException;importorg.junit.Test;publicclassTestFile {

@TestpublicvoidtestDeleteDir() {

File file=newFile("myDir");

file.delete();

}

}

3.7.10deleteOnExit方法——在虚拟机终止时,请求删除文件167

3.7.11equals方法——判断File对象是否相等168

3.7.12exists方法——判断文件是否存在168

File的exists方法用于测试此抽象路径名表示的文件或目录是否存在

booleanexists()

若该File表示的文件或目录存在则返回true,否则返回false。

3.7.13getAbsoluteFile方法——获取绝对路径的文件对象169

3.7.14getAbsolutePath方法——获取绝对路径的字符串对象169

3.7.15getCanonicalFile方法——返回此抽象路径名的规范形式170

3.7.16getCanonicalPath方法——返回此抽象路径名的规范路径名字符串170

3.7.17getFreeSpace方法——获取剩余空间171

3.7.18getName方法——获取文件名称172

3.7.19getParent方法——获取上一级路径的字符串172

3.7.20getParentFile方法——获取上一级路径的File对象173

3.7.21getPath方法——获取路径字符串173

3.7.22getTotalSpace方法——获取总空间大小173

3.7.23getUsableSpace方法——精确获取可写入空间大小174

3.7.24hashCode方法——生成File对象的哈希码174

3.7.25isAbsolute方法——测试此路径名是否为绝对路径名175

3.7.26isDirectory方法——判断File对象是否为目录175

File的isDirectory方法用于判断当前File对象表示的是否为一个目录

booleanisDirectory()

返回值:若File对象表示的是一个目录,则返回true

3.7.27isFile方法——判断File对象是否为文件176

File的isFile方法用于判断当前File对象表示的是否为一个文件

booleanisFile()

3.7.28isHidden方法——判断File对象是否设置隐藏属性176

3.7.29lastModified方法——获取最后修改时间177

3.7.30length方法——获取文件长度177

File的length方法用于返回由此抽象路径名表示的文件的长度

longlength()

该方法返回的long值表示该文件所占用的字节量。

示例:

查看当前工程下文件夹下HelloWorld.txt文件的大小。

(1)当前工程 JavaApi 下文件夹下,新建JavaApi文件夹,然后新建一个文本文件 HelloWorld.txt。

(2)使用length属性。

packagecom.souvc.api;importjava.io.File;importorg.junit.Test;publicclassTestFile {

@TestpublicvoidtestLength() {

File file=newFile("JavaApi" + File.separator + "HelloWorld.txt");

System.out.PRintln(file+ "占用字节量:" +file.length());

}

}

(3)效果如下:

JavaApi\HelloWorld.txt占用字节量:0

(5)在HelloWorld.txt下加个hello字符。再运行。

JavaApi\HelloWorld.txt占用字节量:5

3.7.31list方法——获取目录列表的字符串数组178

3.7.32listFiles方法——获取目录列表的File数组179

(1)File的listFiles方法用于返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

File[]listFiles()

返回值:抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。如果目录为空,那么数组也将为空。如果抽象路径名不表示一个目录,或者发生 I/O 错误,则返回 null。

(2)通过listFiles方法我们可以获取一个目录下的所有子项,但有些时候我们并不希望获取全部子项,而是想获取部分满足我们实际需求的子项时,我们可以使用File的重载方法:

File[]listFiles(FileFilter filter)

这里我们看到,该重载方法 要求我们传入一个参数,其类型是FileFilter。什么是FileFilter呢? FileFilter是用于抽象路径名的过滤器,说白了就是定义一个规律规则,那么结合listFiles方法,我们就可以将满足此过滤规则的子项返回, 其他则忽略。

FileFilter是一个接口,所以当我们需要定义某种过滤规则时,我们可以定义一个类来实现这个接口,而此接口的实例可传递给 File 类的 listFiles(FileFilter) 方法。

File[] list = dir.listFiles(new FileFilter() {

@Override

public boolean accept(File pathname) {

return pathname.getName().startsWith(".");

}

});

该方法的参数FileFilter实例的accept方法并进行过滤,listFiles方法会将所有accept方法返回true的子项保留并返回。这个例子里我们会将dir中子项的名字以"."开头的返回。

3.7.33listRoots方法——获取根目录的File数组181

3.7.34mkdir方法——创建目录182

File的mkdir方法用于创建此抽象路径名指定的目录。

booleanmkdir()

返回值:当且仅当已创建目录时,返回 true;否则返回 false

packagecom.souvc.api;importjava.io.File;importjava.io.IOException;importorg.junit.Test;publicclassTestFile {

@TestpublicvoidtestMkDir() {

File dir=newFile("myDir");

dir.mkdir();

}

}

3.7.35mkdirs方法——创建完整路径的所有目录183

File的mkdirs方法用于创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。注意,此操作失败时也可能已经成功地创建了一部分必需的父目录。

booleanmkdirs()

返回值:当且仅当已创建目录以及所有必需的父目录时,返回 true;否则返回 false

packagecom.souvc.api;importjava.io.File;importjava.io.IOException;importorg.junit.Test;publicclassTestFile {

@TestpublicvoidtestMkDirs() {

File dir=newFile("a" + File.separator + "b" + File.separator + "c");

dir.mkdirs();

}

}

3.7.36renameTo方法——重命名文件或文件夹183

3.7.37setExecutable方法——设置可执行属性184

3.7.38setLastModified方法——设置最后修改时间185

3.7.39setReadable方法——设置可读属性185

3.7.40setReadOnly方法——设置只读属性187

3.7.41setWritable方法——设置可写属性187

3.7.42toString方法——File的字符串格式188

3.7.43toURI方法——获取File的URI189

3.8FileInputStream类——文件字节输入流189

3.8.1构造方法——FileInputStream类的构造方法189

3.8.2available方法——获取可读的有效字节数189

3.8.3close方法——关闭文件输入流190

3.8.4finalize方法——在销毁改对象时关闭输入流191

3.8.5getChannel方法——返回与此文件输入流有关的惟一FileChannel对象191

3.8.6getFD方法——获取File对象连接的FileDescriptor对象191

3.8.7read方法——从文件字节流读取数组192

3.8.8skip方法——跳过并丢弃n个字节193

3.9FileOutputStream类——文件字节输出流194

3.9.1构造方法——FileOutputStream类的构造方法194

3.9.2close方法——关闭文件输出流并释放资源195

3.9.3finalize方法——流销毁时关闭输出流195

3.9.4getChannel方法——获取输出流的FileChannel对象195

3.9.5getFD方法——获取File对象连接的FileDescriptor对象196

3.9.6write方法——向文件输出流写数据196

3.10FileReader类——文件的字符输入流199

3.10.1构造方法——FileReader类的构造方法199

3.10.2close方法——关闭字符输入流200

3.10.3read方法——读取字符数据200

3.11FileWriter类——文件的字符输出流202

3.11.1构造方法——FileWriter类的构造方法202

3.11.2close方法——关闭字符输出流202

3.11.3flush方法——刷新缓冲区203

3.11.4write方法——向字符输出流写数据203

3.12InputStream类——字节输入流205

3.12.1available方法——获取有效的可读取的字节数205

3.12.2close方法——关闭输入流206

3.12.3mark方法——在此输入流中标记当前的位置206

3.12.4markSupported方法——判断是否支持mark和reset方法207

3.12.5read方法——读取字节输入流中的数据207

3.12.6reset方法——重新定位到最后一次mark()方法时的位置209

3.12.7skip方法——跳过并丢弃n个字节209

3.13OutputStream类——字节输出流210

3.13.1close方法——关闭字节输出流210

3.13.2flush方法——刷新缓冲区211

3.13.3write方法——向输出流写数据211

3.14ObjectOutputStream类——对象输出流213

3.14.1构造方法——ObjectOutputStream类的构造方法213

3.14.2close方法——关闭对象输出流213

3.14.3flush方法——刷新缓冲区214

3.14.4writeObject方法——向输出流写入对象214

3.14.5writeBytes方法——向输出流写入字符串215

3.14.6write方法——向输出流写入byte值215

3.14.7writeChar方法——向输出流写入char值216

3.14.8writeChars方法——向输出流写入String值217

3.14.9writeDouble方法——向输出流写入double值217

3.14.10writeFields方法——将已缓冲的字段写入流中217

3.14.11writeFloat方法——向输出流写入float值218

3.14.12writeInt方法——向输出流写入int值218

3.14.13writeLong方法——向输出流写入long值219

3.14.14writeShort方法——向输出流写入short值219

3.14.15writeUTF方法——向输出流写入float值219

3.15ObjectInputStream类——对象输入流220

3.15.1构造方法——ObjectInputStream类的构造方法220

3.15.2readObject方法——从输入流读取对象220

3.15.3readInt方法——从输入流读取int值221

3.15.4readFloat方法——从输入流读取float值221

3.15.5readchar方法——从输入流读取char值222

3.16RandomaccessFile类——随机文件访问类222

Java提供了一个可以对文件随机访问的操作,访问包括读和写操作。该类名为RandomAccessFile。该类的读写是基于指针的操作。

3.16.1构造方法——RandomAccessFile类的构造方法222

RandomAccessFile在对文件进行随机访问操作时有两个模式,分别为只读模式(只读取文件数据),和读写模式(对文件数据进行读写)。

只读模式(只读取文件数据):

在创建RandomAccessFile时,其提供的构造方法要求我们传入访问模式:

RandomAccessFile(File file,String mode)

RandomAccessFile(String filename,String mode)

其中构造方法的第一个参数是需要访问的文件,而第二个参数则是访问模式:

r”:字符串”r”表示对该文件的访问是只读的。

读写模式(对文件数据进行读写):

创建一个基于文件访问的读写模式的RandomAccessFile我们只需要在第二个参数中传入”rw”即可。

RandomAccessFile raf = new RandomAccessFile(file,”rw”);

3.16.2close方法——关闭数据流222

RandomAccessFile在对文件访问的操作全部结束后,要调用close()方法来释放与其关联的所有系统资源。

voidclose()

RandomAccessFile raf = new RandomAccessFile(file,”rw”);

//读写操作

raf.close();//访问完毕后要关闭以释放系统资源。

3.16.3getChannel方法——返回此文件的FileChannel对象223

3.16.4getFD方法——返回此流的不透明文件描述符对象223

3.16.5getFilePointer方法——返回文件中的当前偏移量224

RandomAccessFile的读写操作都是基于指针的,也就是说总是在指针当前所指向的位置进行读写操作。

RandomAccessFile提供了一个可以获取当前指针位置的方法:

longgetFilePointer()

RandomAccessFile在创建时默认指向文件开始(第一个字节),通过getFilePointer方法获取指针位置时值是"0"。

RandomAccessFile raf =newRandomAccessFile(file,”rw”);

System.out.println(raf.getFilePointer());//0raf.write('A');//写出一个字节后,指针自动向后移动到下一个字节位置System.out.println(raf.getFilePointer());//1raf.writeInt(3);

System.out.println(raf.getFilePointer());//5raf.close();

3.16.6length方法——返回此文件的长度224

3.16.7read方法——读取一个数据字节225

RandomAccessFile提供了一个可以从文件中读取字节的方法:

intread()

该方法会从RandomAccessFile当前指针位置读取一个byte(8位) 填充到int的低八位, 高24位为0, 返回值范围正数: 0~255, 如果返回-1表示读取到了文件末尾EOF(EOF:End Of File)! 每次读取后自动移动文件指针, 准备下次读取。

3.16.8readBoolean方法——从文件读取一个boolean值227

3.16.9readByte方法——从文件读取一个byte值228

RandomAccessFile提供了一个可以从文件中批量读取字节的方法:

intread(byte[] b)

该方法会从文件中尝试最多读取给定数组的总长度的字节量,并从给定的字节数组第一个位置开始,将读取到的字节顺序存放至数组中,返回值为实际读取到的字节量 。

3.16.10readInt方法——从文件读取一个int值228

3.16.11readChar方法——从文件读取一个char值229

3.16.12readDouble方法——从文件读取一个double值229

3.16.13readFloat方法——从文件读取一个float值230

3.16.14readFully方法——从文件读取一个字节数组230

3.16.15readLine方法——从此文件读取文本的下一行232

packagecom.souvc.common.util;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.InputStreamReader;/*** 类名: ReadTxtFile </br>

* 描述:读取文本文件 </br>

* 开发人员: souvc </br>

* 创建时间: 2015-11-19 </br>

* 发布版本:V1.0 </br>*/publicclassReadTxtFile {/*** 功能:Java读取txt文件的内容

* 步骤:

* 1:先获得文件句柄

* 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取

* 3:读取到输入流后,需要读取生成字节流

* 4:一行一行的输出。readline()。

* 备注:需要考虑的是异常情况

*@paramfilePath*/publicstaticvoidreadTxtFile(String filePath){try{

String encoding="utf-8";

File file=newFile(filePath);if(file.isFile() && file.exists()){//判断文件是否存在InputStreamReader read =newInputStreamReader(newFileInputStream(file),encoding);//考虑到编码格式BufferedReader bufferedReader =newBufferedReader(read);

String lineTxt=null;while((lineTxt = bufferedReader.readLine()) !=null){

System.out.println(lineTxt);

}

read.close();

}else{

System.out.println("找不到指定的文件");

}

}catch(Exception e) {

System.out.println("读取文件内容出错");

e.printStackTrace();

}

}publicstaticvoidmain(String argv[]){

String filePath= "test.txt";

readTxtFile(filePath);

}

}

新建一个test.txt文件,放到项目根目录。

3.16.16readLong方法——从文件读取一个long值232

3.16.17readShort方法——从文件读取一个short值233

3.16.18readUnsignedByte方法——从文件读取无符号byte值234

3.16.19readUnsignedShort方法——从文件读取无符号short值234

3.16.20readUTF方法——从此文件读取一个UTF-8字符串235

3.16.21setLength方法——设置此文件的长度235

3.16.22seek方法——将文件指针移至指定位置236

RandomAccessFile的提供了一个方法用于移动指针位置。

voidseek(long pos)

使用该方法可以移动指针到指定位置。

RandomAccessFile raf =newRandomAccessFile(file,”rw”);

System.out.println(raf.getFilePointer());//0raf.write('A');//指针位置1raf.writeInt(3);//指针位置5raf.seek(0);//将指针移动到文件开始处(第一个字节的位置)System.out.println(raf.getFilePointer());//0raf.close();

3.16.23skipBytes方法——跳过并丢弃n个字节236

RandomAccessFile的提供了一个方法可以尝试跳过输入的 n 个字节以丢弃跳过的字节,方法定义为:

intskipBytes(int n)

该方法可能跳过一些较少数量的字节(可能包括零)。这可能由任意数量的条件引起;在跳过n个字节之前已到达文件的末尾只是其中的一种可能。此方法不抛出 EOFException。返回跳过的实际字节数。如果 n 为负数,则不跳过任何字节。

3.16.24write方法——向此文件写入指定的字节237

RandomAccessFile提供了一个可以向文件中写出字节的方法:

voidwrite(int d)

该方法会根据当前指针所在位置处写入一个字节,是将参数int的”低8位”写出。

RandomAccessFile提供了一个可以向文件中写出一组字节的方法:

voidwrite(byte[] d)

该方法会根据当前指针所在位置处连续写出给定数组中的所有字节,与该方法相似的还有一个常用方法:

voidwrite(byte[] d,int offset,int len)

该方法会根据当前指针所在位置处连续写出给定数组中的部分字节,这个部分是从数组的offset处开始,连续len个字节。

3.16.25writeBoolean方法——将 boolean 写入文件239

3.16.26writeByte方法——将 byte 写入该文件239

3.16.27writeBytes方法——按字节序列将该字符串写入该文件240

3.16.28writeChars方法——写入作为字符数据的字符串240

3.16.29writeDouble方法——写入double值241

3.16.30writeFloat方法——向文件写入float值241

3.16.31writeInt方法——向文件写入int值242

3.16.32writeLong方法——向文件写入long值242

3.16.33writeShort方法——向文件写入short值243

3.16.34writeUTF方法——向文件写入UTF-8 编码的字符串243

3.17Reader类——读取字符流的抽象类244

3.17.1close方法——关闭流244

3.17.2mark方法——标记流中的当前位置244

3.17.3markSupported方法——判断是否支持mark()操作245

3.17.4read方法——读取流中的数据245

3.17.5ready方法——判断是否准备读取此流247

3.17.6reset方法——重置该流248

3.17.7skip方法——跳过并丢弃n个字节248

3.18Scanner类——简单文本扫描器249

3.18.1构造方法——Scanner类的构造方法249

3.18.2close方法——关闭扫描器250

3.18.3delimiter方法——返回匹配分隔符的 Pattern250

3.18.4findInLine方法——忽略分隔符查找下一个构造模式250

3.18.5findWithinHorizon方法——试图查找下一个指定模式251

3.18.6hasNext方法——扫描器的输入中是否有另一个标记252

3.18.7hasNextBigDecimal方法——下一个标记是否默认基数中的一个 BigDecimal254

3.18.8hasNextBigInteger方法——下一个标记是否默认基数中的一个BigInteger254

3.18.9hasNextBoolean方法——下一个标记是否为布尔值255

3.18.10hasNextByte方法——下一个标记是否为byte值256

3.18.11hasNextDouble方法——下一个标记是否为double值256

3.18.12hasNextFloat方法——下一个标记是否为float值257

3.18.13hasNextInt方法——下一个标记是否为int值257

3.18.14hasNextLine方法——是否存在下一行258

3.18.15hasNextLong方法——下一个标记是否为long值259

3.18.16hasNextShort方法——下一个标记是否为short值260

3.18.17ioException方法——最后抛出的 IOException260

3.18.18locale方法——返回此扫描器的语言环境261

3.18.19match方法——最后扫描操作的匹配结果261

3.18.20next方法——读取下一个完整标记262

3.18.21nextBigDecimal方法——读取下一个BigDecimal对象263

3.18.22nextBigInteger方法——读取下一个BigInteger对象264

3.18.23nextBoolean方法——读取下一个boolean值265

3.18.24nextByte方法——读取下一个byte值266

3.18.25nextDouble方法——读取下一个double值267

3.18.26nextFloat方法——读取下一个float值267

3.18.27nextInt方法——读取下一个int值268

3.18.28nextLine方法——读取下一行文本269

3.18.29nextLong方法——读取下一个long值269

3.18.30nextShort方法——读取下一个short值270

3.18.31radix方法——返回扫描器的默认基数271

3.18.32reset方法——重置扫描器271

3.18.33skip方法——忽略分隔符跳过匹配的输入信息272

3.18.34toString方法——返回此 Scanner 的字符串表示形式273

3.18.35useDelimiter方法——设置为指定分隔模式273

3.18.36useLocale方法——设置为指定的语言环境274

3.18.37useRadix方法——设置指定基数274

3.19Writer类——写入字符流的抽象类275

3.19.1append方法——添加指定字符275

3.19.2close方法——关闭数据流275

3.19.3flush方法——刷新流的缓冲276

3.19.4write方法——向字符输出流中写数据276

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航