首页 > 代码库 > java I/O的基本使用
java I/O的基本使用
1.什么是I/O
a.I/O也称为:输入输出,可以理解为In,Out
b.I/O流:读取键盘键入的字符,硬盘上的文件
c.处理数据的类型分类:字节流、字符流
字节流:以Stream结尾的,可以处理图片、文字、音频、视频等,读取一个字节返回一个字节。
字符流:以Reader或Writer结尾,仅能处理纯文本数据,读取一个或多个字节,再查询指定编码表,最后返回字符。
字节流代码实例演示:
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;/** * Created by Pres_cheng on 2016/9/4. */public class UsingFileStream { public static void main(String args[]) { File file = new File("D:\\Ideaworkspace\\UsingFileStream\\src\\hello.txt"); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } try { FileInputStream fis = new FileInputStream(file); byte[] bytes = new byte[1024]; String str = ""; while (fis.read(bytes) != -1) { str += new String(bytes,"utf-8"); } System.out.println(str); //每次使用完流后都要关闭 fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/** * Created by Pres_cheng on 2016/9/4. */public class UsingFileOutStream { public static void main(String args[]){ //写入的数据 String str = "大家好,我是学生123456abc"; //文件的路径 File file =new File("D:\\Ideaworkspace\\UsingFileStream\\src\\hello"); if(!file.exists()){ try { //如果不存在就创建文件 file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } try { //实例化输出流 FileOutputStream fos = new FileOutputStream(file); byte [] btyes = str.getBytes(); fos.write(btyes); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
复制图片
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/** * Created by Pres_cheng on 2016/9/4. */public class CopyFile { public static void main(String args[]){ try { FileInputStream fis = new FileInputStream("D:\\Ideaworkspace" + "\\UsingFileStream\\img.jpg"); FileOutputStream fos = new FileOutputStream("D:\\Ideaworkspace" + "\\UsingFileStream\\newImg.jpg"); byte [] bytes = new byte[1024]; while (fis.read(bytes) != -1){ fos.write(bytes); } fis.close(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
字符流实例演示:
import java.io.*;/** * Created by Pres_cheng on 2016/9/4. */public class UsingStreamReader { public static void main(String[] args) { try { //实例化字节流 FileInputStream fis = new FileInputStream("D:\\Ideaworkspace" + "\\UsingFileReaderAndWriter\\src\\test.txt"); //将字节流转化给字符流 InputStreamReader isr = new InputStreamReader(fis, "utf-8"); FileOutputStream fos = new FileOutputStream("D:\\Ideaworkspace" + "\\UsingFileReaderAndWriter\\src\\newTest.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8"); char[] chars = new char[100]; int i;// String str = ""; while ((i = isr.read(chars)) != -1){// str += new String(chars,0,i); osw.write(chars,0,i); }// System.out.println(str); //关闭流,按照先打开后关闭后打开先关闭的原则 osw.close(); fos.close(); isr.close(); fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
java I/O的基本使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。