输入输出流

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA IO

一)File 类是IO类里唯一操作文件类构造方法为: new File(String filePath)

常用的方法: f.exists() f.delete() f.createFile() f.mkdirs() File[] f = f.listFile() –显示文件名和文件路径String[] s = f.list() --- 显示文件名;

二) OutPutStream 字节输出流–抽象类子类:FileOutPutStream -- 一般报异常是FileNotFoundException

OutPutStream outS = new FileOutPutStream(File f);

OutPutStream outS = new FileOutPutStream(File f,Boolean b);

当b =true 时表示在文件末尾追加内容这样前面写的内容任然在.

以下就是字节输出流把字符串文字输出到bfh.txt文件里

String pathname = "e:/bfh.txt ";

File f = new File(pathname);

OutputStream out = new FileOutputStream(f);

String str = "祝贺百均成公司sfq";

byte[] b = str.getBytes(); ---- 字节流只能以字节数组形式输出

try {

out.write(b);

for(int i =0;i

{

out.write(b[i]);

}

} catch (IOException e) {

e.printStackTrace();

}finally{

try {

out.close();

} catch (IOException e) {

e.printStackTrace();

}

}

二)InPutStream字节输入流同OutPutStream

InputStream in = new FileInputStream(f);

//byte[] b = new byte[(int)f.length()];

byte[] b = new byte[1024];

try {

in.read();

System.out.println("内容为:"+new String(b));

} catch (IOException e) {

e.printStackTrace();

}finally{

try {

in.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

三) Writer字符输出流是抽象类调用则调用FileWriter 异常是IOException

Writer w = new FileWriter(File f);

Writer w = new FileWriter(File f,Boolean b);

当b=true时在后面追加显示写入的内容

try {

String str = "白福虎sssss";

Writer w = new FileWriter(f);

w.write(str);

w.close();

} catch (IOException e) {

e.printStackTrace();

}

四)Reader 字符输入流同上

Reader r = new FileReader(f);

//char[] c = new char[(char)f.length()];

char[] c = new char[1024];

try {

int len = r.read(c);

r.close();

System.out.println("内容为:"+new String(c,0,len));

} catch (IOException e) {

e.printStackTrace();

}

五)字节流和字符流区别

字节主要是读一些如音乐文件、视频文件(可以理解那些比较细腻精度要求高的文件),而字符流就相对宽松一些了:如文本文件……

字符流如果不关闭则需要强制刷新缓存才能把内容输出来out.flush();

以下是一个文件拷贝功能代码

String pathname1 = "e:/sfq.txt";

String pathname2 = "e:/bfh.txt";

File f1= new File(pathname1); //源文件

File f2 = new File(pathname2); //目标文件

if(!f1.exists())

{

System.out.println("源文件不存在!");

System.exit(1);

}

InputStream inPut = new FileInputStream(f1); // 读取源文件里的内容

OutputStream outPut = new FileOutputStream(f2); // 写入目标文件里的内容

if(inPut != null && outPut != null)

{

int temp = 0;

try {

while((temp = inPut.read())!= -1)

{

outPut.write(temp); }

} catch (IOException e) {

e.printStackTrace();

}

}

六) OutputStreamWriter 字符流转向字节流是字符流Writer的子类

InputStreamReader 字节流转向字符流

try {

Writer w = new OutputStreamWriter(new FileOutputStream(f));

Reader r = new InputStreamReader(new FileInputStream(f));

w.write("hello word");

w.flush();

w.close();

char[] c =new char[1024];

int len = r.read(c);

System.out.println(new String(c,0,len));

} catch (IOException e) {

e.printStackTrace();

}

七)BufferedReader 缓存流

相关文档
最新文档