@Sakura-W
2016-05-29T12:07:37.000000Z
字数 1665
阅读 2375
Java
Java.io包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。
Java IO体系结构
1.读取控制台输入
Java的控制台输入由System.in完成
1)使用BufferedReader对象来创建一个字符流
为了获得一个绑定到控制台的字符流,可以把System.in包装在一个BufferedReader对象中来创建一个字符流。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
创建了BufferedReader对象后,就可以使用read()方法从控制台读取一个字符,或者readLine()方法读取一个字符串
c = (char)br.read();
//由于read()方法从输入流中读取一个字符并把该字符作为整数值返回,流结束的时候返回-1,所以需要转换成字符
str = br.readLine();//直接读取字符串
2.控制台输出
控制台输出由print()和println()完成。这些方法都有类PrintStream定义,System.out是该类对象的一个引用。
System.out.print("第一次输出");
System.out.println("第二次输出");
PrintStream类继承了OutputStream类,并实现了write()方法。这样write()方法也可以往控制台写操作。PS:write()方法不经常用!
int b = 'A';
System.out.write(b);//把b的低八位字节写到流中
1.输入流和输出流的类层次图
2.FileInputStream流
该流用于从文件读取数据,它的对象可以用new关键字来创建.可以使用字符串类型的文件名来创建一个输入流对象来读取文件。
InputStream f = new FileInputStream("C:/java/hello");
也可以使用一个文件对象来创建一个输入流对象来读取文件。
File f = new File("C:/java/hello");//首先创建一个文件对象
InputStream f = new FileInputStream(f);
InputStream对象相关操作方法
3.FileOutputStream流
该类用来创建一个文件并向文件中写数据。如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。
该流的创建方法与FileInputStream相同
相关操作
4.输入输出实例
//输出到文件
byte bWrite[] = {11,21,2,32,43};
OutputStream os = new FileOutputStream("test.txt");
for(int i = 0; i < bWrite.length; i++){
os.write(bWrite[i]);
}
os.close();
//从文件读取
InputStream is = new FileInputStream("test.txt");
int size = is.available();
for(int i = 0; i < size; i++){
System.out.print((char)is.read() + " ");
}
is.close();
1.创建目录
mkdir()方法创建一个文件夹,成功则返回true,失败返回false.失败表明File对象指定的路径已存在或者由于整个路径还不存在,所以该文件夹不能被创建。
mkdirs()方法创建一个文件夹和它所有的父文件夹。
String dirname = "/tmp/user/java/bin";
File d = new File(dirname);
// 现在创建目录
d.mkdirs();
2.读取目录
一个目录其实就是一个File对象,包含其他文件和文件夹。如果创建一个File对象,并且是一个目录,那么调用isDirectory()会返回true;调用list()方法则可以提取它包含的文件和文件夹的列表。