java输入输出
来源:互联网 发布:安卓手机c语言编程软件 编辑:程序博客网 时间:2024/04/18 07:49
System.out.printf("%s:%d", name,age);
一、标准输入输出
1、标准输出
System.out.println("hell,world!");
2、标准输入
通过控制台进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in 关联
示例:
import java.util.Scanner;public class InputTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.println("what's your name");String name=in.nextLine();System.out.println("how old are you?");int age=in.nextInt();System.out.println(name+":"+age);}}
3、格式化输出
printf()和format()
format方法可以用于PrintStream或PrintWrtier对象,其中也包括System.out对象
d表示十进制数、s表示字符创、c表示字符、f表示浮点数、x表示十六进制整数、o表示八进制整数、b表示布尔、h表示散列吗、tx表示时间、
System.out.printf("%s:%d", name,age);
System.out.format("%s:%d",name,age);
4、formatter类
在java中,所有新的格式化功能都由java.util.Formatter类处理。
5、String.format()
参考c中的sprintf()方法,以生成格式化的String对象。String.format()是一个static方法,接受与Formatter.format()方法一样的参数,但是返回
一个String对象。
String.format("%d,%d,%s",id1,id2,msg);
二、文件输入输出
任何自InputStream或Reader派生而来的类都包含名为read()的基本方法,用于读取单个字节或者字节数组
1)文件输入
1、利用scanner类进行输入
Scanner的构造器可以接受任何类型的输入对象,包括File对象,InputStream,String对象
Scanner in=new Scanner(new File("D:\\test.txt"));
2、InputStream类型
主要面向字节的I/O功能
InputStream的作用是用来表示那些从不同数据源产生输入的类。这些数据包括:1)字节数组、2)String对象、3)文件
4)管道、5)一个由其他种类的流组成的序列,以便我们可以将它们收集合并到一个流内。6)其他数据源
每一个数据源都有相对应的InputStream子类,例如ByteArrayInputStream,StringBufferInputStream,FileInputStream
PipedInputStream、SequenceInputS、FilterInputs。另外,FilterInputStream也属于一种InputStream
3、Reader类型
主要面向字符和兼容unicode的I/O功能
4、缓冲输入文件:面向字符使用Reader类型
BufferedReader fin=new BufferedReader(new FileReader("D:\\2.txt"));String s;StringBuilder sb=new StringBuilder();While((s=fin.readline)!=null){sb.append(s+"\n");}fin.close();
其中字符串sb用来累计文件的全部内容(包括必须添加的换行符,因为readLine()已将他们删掉)
5、格式化内存输入
要读取格式化数据,可以使用DataInputStream,它是一个面向字节的I/O类,因此使用InputStream而不是Reader类。
例:
import java.io.*;public class FormattedMemoryInput {/** * @param args */public static void main(String[] args)throws IOException{// TODO Auto-generated method stubtry{DataInputStream in= new DataInputStream(new ByteArrayInputStream(BufferedInputFile.read("D:\\workspace\\Test\\src\\io\\FormattedMemoryInput.java").getBytes()));while(in.available()!=0)System.out.print((char)in.readByte());}catch(EOFException e){System.err.println("End of Stream");}}}
BufferedInputFile为ByteArrayInputStream提供字节数组。
2)文件输出
任何自OutputStream或Writer派生而来的类都包含名为writer()的基本方法,用于写单个字节或者字节数组。
1、利用PrintWriter类输出
PrintWriter out=new PrintWriter(new File("D:\\test.txt"));
2、OutputStream类型
主要面向字节的I/O功能
该类别决定了输出所要去的往的目标:字节数组、文件或管道。另外FilterOutputStream为“装饰器”类提供了一个基类。
ByteArrayOutputstream、FileOutputstream、PipedOutputstream、FilterOutputStream
3、Writer类型
主要面向字符和兼容unicode的I/O功能
4、文件缓冲输出
首先创建一个与制定文件连接的FileWriter,然后用BufferedWriter将其包装用以缓冲输出。
PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(file)));
5、格式化数据输出
DataOutputStream out=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("Data.txt")));
- java输入输出
- java输入输出
- java输入输出
- java输入输出
- java输入输出
- Java输入输出
- java输入输出
- java输入输出
- JAVA输入输出
- Java输入输出
- JAVA 输入输出
- Java 输入输出
- java 输入输出
- Java输入输出
- Java输入输出
- Java输入输出
- java.输入输出
- JAVA 输入输出
- 关于齐次坐标系的笔记
- 小问题 汇总(不断更新)
- centOS配置ganglia
- 关于js解析执行有趣的事
- 深入浅出之正则表达式(二)
- java输入输出
- 关于Cadence16.5和Cadence15.5共存的安装方法
- MFC自定义消息四步曲
- chukwa 学习———— JAX-RS
- The Tom Kyte Blog: When the explanation doesn't sound quite right...
- NHibernate链接access数据库的配置文件
- 使用GIT工具获取android应用程序源代码
- 备份集中的数据库备份与现有的数据库不同
- java.nio.Buffer缓冲区基础