Java - IO
Posted ze7777
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章
csharp C#代码片段 - 使类成为Singleton模式。 (C#4.0+)https://heiswayi.github.io/2016/simple-singleton-pattern-us
Android android.view.InflateException Binary XML 文件第 16 行:膨胀类片段时出错