信息流接口图(IO流实例)
/*
*作者:呆萌老师
*☑csdn认证讲师
*☑51cto高级讲师
*☑腾讯课堂认证讲师
*☑网易云课堂认证讲师
*☑华为开发者学堂认证讲师
*☑爱奇艺千人名师计划成员
*在这里给大家分享技术、知识和生活
*各种干货,记得关注哦!
*vx:it_daimeng
*/
创建与文件关联的字节输出流对象 FileOutputStream fos = newfileOutputStream("c:\\cn8.txt"); //创建可以把字符转成字节的转换流对象,并指定编码OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");调用转换流,把文字写出去,其实是写到转换流的缓冲区中 osw.write("你好");//写入缓冲区。 osw.close();创建读取文件的字节流对象
InputStream in;
try {
in = new FileInputStream("d:/aa/5.txt");
// 创建转换流对象
// InputStreamReader isr = new
// InputStreamReader(in);这样创建对象,会用本地默认码表读取,将会发生错误解码的错误
InputStreamReader isr = new InputStreamReader(in, "gbk");
// 使用转换流去读字节流中的字节
int ch = 0;
while ((ch = isr.read()) != -1) {
System.out.println((char) ch);
}
// 关闭流
isr.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
字符输出流
// TODO Auto-generated method stub
File file = new File("d:/aa/5.txt");
try {
// 字符输出流
FileWriter fileWriter = new FileWriter(file, true); // 字符输出流
// true代表追加
fileWriter.write("你好");
fileWriter.close();
// 字节输出流
FileOutputStream fileOutputStream = new FileOutputStream(file, true);
fileOutputStream.write('a');
fileOutputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
字符输入流
//字符输入流 读 文本文件的读写(.java .txt...)
//1.创建对象
File file=new File("d:/aa/4.txt");
//2.创建字符输入流对象
try {
FileReader fileReader=new FileReader(file);
int a;
a= fileReader.read(); //读取一个字符
System.out.println((char)a);
char[] arr=new char[3];
fileReader.read(arr);//读取多个字符到数组中
System.out.println(new String(arr));
//循环读取文件的内容
while((a=fileReader.read())!=-1)
System.out.println((char)a);
fileReader.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
字符输出流 文件
//字符输出流 写出
//1.创建文件对象
File file=new File("d:/aa/5.txt");
//2.创建字符输出流
try {
FileWriter fileWriter=new FileWriter(file);
fileWriter.write("bb\r\n"); //换行
fileWriter.write("呆萌");
fileWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//字节输入流 从文件中读数据进来 一个字节一个字节的读取 (图片 视频文件的读写)
//(一个英文字符或数字字符对应一个字节 一个中文字对应的是两个字节,所以读中文要用字符流)
//1.创建文件对象
File file=new File("d:/aa/2.txt");
//2.创建一个输入流对象
try {
FileInputStream fileInputStream=new FileInputStream(file);
//3.读数据
int a=fileInputStream.read(); //读取下一个字符 读到了返回当前字符的ascII码 读到文件结尾 则返回-1
System.out.println((char)a);
a=fileInputStream.read();
System.out.println((char)a);
//读取多个字节到数组中
byte[] arr=new byte[3];
fileInputStream.read(arr); //读取3个字节存入arr数组中
System.out.println(new String(arr, 0, 3));
//读取整个文件
while((a=fileInputStream.read())!=-1)
System.out.print((char)a);
//关闭文件
fileInputStream.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
字节输出流 文件操作
//字节输出流 将数据写到文件中
//1.创建文件对象
File file=new File("d:/aa/3.txt");
//2.创建字节输出流
try {
FileOutputStream fileOutputStream=new FileOutputStream(file);
//3.写内容
fileOutputStream.write('a'); //一次写入一个字节
byte[] arr=new byte[]{'b','c','d'}; //写入一个byte类型的数组
String string="daimeng";
byte[] brr=string.getBytes(); //可以将字符串转换为字节数组
fileOutputStream.write(brr);
fileOutputStream.close(); //关闭流
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com