首页 > 代码库 > Java - IO
Java - IO
Java IO分为两部分:1. 对屏幕和键盘输入输出操作;2. 对文件进行输入输出操作。
Java中有字符流和字节流两种。字符流就是对字符进行操作,字节流就是对字节进行操作。
一般以Reader/Writer结尾的,都是字符流操作单位;以Stream结尾的,都是字节流操作单位。
字符流经我们常用到的基本单位是FileWriter和FileReader,字节流用到的基本单位是FileInputStream和FileOutputStream。其构造函数都可以接收文件名。但一般我们不会用它们直接进行IO操作。我们会将它们嵌套入PrintWriter,Scanner,BufferedReader/Writer/InputStream/OutputStream中用。
对屏幕进行输入输出
1.对屏幕进行输出:
System.out.println("Hello, World");
2.对键盘进行输入:Scanner
String s=null; //读取一串字符,以空格为分界 s=input.next(); //读取一行 s=input.nextLine(); //读取一个整型变量 int a=input.nextInt(); //连续读取;**注意此处会连续读取,永远不会停,需要设置条件停止循环** while(input.hasNextLine()){ s=input.nextLine(); //此处需要设置中断while的条件语句 }
对文件进行输入输出
1.对文件进行IO操作,不要求效率的情况下用PrintWriter和Scanner:
try{
PrintWriter out=new PrintWriter(new FileOutputStream("a.txt",true)); //true,表示在原文件后追加内容;此处不用true,则会覆盖原文件 out.println("Hello World!"); out.close(); Scanner in=new Scanner(new FileInputStream("a.txt")); while(in.hasNext()){ System.out.println(in.nextLine()); } in.close(); } catch(IOException e){ System.out.println(e.getMessage()); }
2.对文件进行IO操作,要求效率的话用:BufferedReader/BufferedWriter/BufferedInputStream/BufferedOutputStream。因为这些对象用到了缓存,减少IO的读写次数,所以效率更高。
BufferedReader/BufferedWriter:
try { BufferedWriter out=new BufferedWriter(new FileWriter("a.txt")); BufferedReader in=new BufferedReader(new FileReader("a.txt")); //输出字符流 out.write("Hello,World!"); out.close(); //读取字符流 String s=in.readLine(); System.out.println(s); in.close(); } catch (IOException e) { e.printStackTrace(); }
BufferedInputStream/BufferedOutputStream:
try { BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream("a.txt")); BufferedInputStream in=new BufferedInputStream(new FileInputStream("a.txt")); String s="Hello, World!"; byte[] a=s.getBytes(); //输出字节流 out.write(a); out.close(); File f=new File("a.txt"); byte[] b=new byte[(int)f.length()]; //读取字节流 in.read(b); in.close(); System.out.println(new String(b)); } catch (IOException e) { e.printStackTrace(); }
Java - IO
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。