java-IO-基本输出输入流
/ 标准输入输出流:
直接类名调用 一经创建无法改变
public static final PrintStream err “标准”错误输出流。
public static final InputStream in “标准”输入流。 用来读取键盘输入的数据
调用:System.in
InputStream is =System.in;
Scanner sc=new Scanner(System.in);读取键盘录入
public static final PrintStream out “标准”输出流。
System.out.println()将数据输在再命令行
*/
package IO;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.Writer;
public class IO {
public static void main(String[] args) throws IOException{
/* 例子:输出指定文件在命令行
项目文件读取=====字符输入流
命令行====基本的输出流
由于标准输出流是一个字节的输出流,所以只能输出字节或者字节组,但是我们读取道得数据则是字符串,我们通过GetByte来获取字节数值
我们想通过标准输出流输出字符串,
把标准输出流转化成一种字符输出流,OutputStreamWriter
OutputStreamWriter(OutputStream out) 创建使用默认字符编码的 OutputStreamWriter。
把标准输入流转化成一种字符输入流,InputStreamReader
InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。
method();
method01();
method02();
*/
/*例子:读取键盘录入的数据,并输出到a.txt文件当中
创建字节输入流
创建字符输入流
*/
InputStream is=System.in;
FileWriter fw=new FileWriter("a.txt");
byte[] bys= new byte[2048];
int len;
while((len=is.read(bys))!=-1) {
fw.write(new String(bys));
fw.flush();
}
is.close();
fw.close();
}
public static void method02() throws FileNotFoundException, IOException {
BufferedReader br=new BufferedReader(new FileReader("Systemout.txt"));
Writer w=new OutputStreamWriter(System.out);
BufferedWriter bw=new BufferedWriter(w);
String line;
while((line = br.readLine())!=null) {
bw.write(line);
bw.newLine();
}
w.close();
br.close();
}
public static void method01() throws FileNotFoundException, IOException {
// 创建输入流对象
BufferedReader br=new BufferedReader(new FileReader("Systemout.txt"));
Writer w=new OutputStreamWriter(System.out);
String line;
while((line = br.readLine())!=null) {
w.write(line);
w.write("\r\n");
}
w.close();
br.close();
}
public static void method() throws FileNotFoundException, IOException {
// 创建输入流对象
BufferedReader br=new BufferedReader(new FileReader("Systemout.txt"));
// 创建输出基本流
OutputStream os=System.out;
String line;
while((line=br.readLine())!=null) {
os.write(line.getBytes());
}
os.close();
br.close();
}
}
总结:IO中的File是文件操作 字符缓冲类BufferWriter BufferReader 基本输入输出流 System.in System.out 转化流OutputStreamWriter InputStreamReader
基本输入输出流只能带入数组参数 这时候需要把字节的输入输出流转化为字符类的输入输出流 这时候就有可转化流 将基本的输入输出流转换为字符高效缓冲流BufferWriter BufferReader
java-IO-基本输出输入流的更多相关文章
- java Io流输出指定文件的内容
package com.hp.io; import java.io.*; public class BufferedReaderTest{ /** *@param 想想 */ public st ...
- 关于System.getProperty("java.io.tmpdir");的输出,及System.getProperty();参数
1,首先来介绍下System.getProperty("java.io.tmpdir")输出因为这个输出有点特殊. 理论介绍:他是获取系统临时目录.可以是window的temp,l ...
- 【Java基础】Java IO流的总结
Java IO流分为输入流和输出流,而输入流和输出流中又分字符流和字节流.顾名思义,输入流则是输入到程序中计算,输出流是把程序的结果输出到文件或者设备.而字符流输入输出以字符为单位,字节流则是以字节为 ...
- java io系列14之 DataInputStream(数据输入流)的认知、源码和示例
本章介绍DataInputStream.我们先对DataInputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解. 转载请注明出处:http://www.cnblogs. ...
- 1.java.io包中定义了多个流类型来实现输入和输出功能,
1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(C),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(G) A.输入流和输出流 B ...
- java中的IO流(输入流与输出流)概述与总结
Java中IO流,输入输出流概述与总结 总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都 ...
- java:OutputStream和InputStream 输出输入流,FileOutputStream,FileInputStream写入读取流
1.在java中stream代表一种数据流(源),javaio的底层数据元,---(想像成水龙头)2.任何有能力产生数据流(源)的javaio对象就可以看作是一个InputStream对象既然它能产生 ...
- 系统学习 Java IO (一)----输入流和输出流 InputStream/OutputStream
目录:系统学习 Java IO ---- 目录,概览 InputStream 是Java IO API中所有输入流的父类. 表示有序的字节流,换句话说,可以将 InputStream 中的数据作为有序 ...
- Java的IO流以及输入流与输出流的异同
一:流的基本概念: Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.J ...
- java io流 创建文件、写入数据、设置输出位置
java io流 创建文件 写入数据 改变system.out.print的输出位置 //创建文件 //写入数据 //改变system.out.print的输出位置 import java.io.*; ...
随机推荐
- PAT 1073 Scientific Notation[字符串处理][科学记数法]
1073 Scientific Notation(20 分) Scientific notation is the way that scientists easily handle very lar ...
- PAT 1080 Graduate Admission[排序][难]
1080 Graduate Admission(30 分) It is said that in 2011, there are about 100 graduate schools ready to ...
- with语句与__enter__,__exit__
class Foo(object): def func(self): print("func") pass def __enter__(self): print("ent ...
- 小论“Boolean参数作为入参”的函数
<Clean Code>一书中对于如何写好函数有着很动人的描写,其中对于函数参数的建议有如下两点: 函数参数的数量应该尽可能少 给一个一元函数传入bool类型的参数很"罪恶&qu ...
- Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, ...
使用oracle数据库一个多月依赖这问题一直都得不到解决,最近任务不是很忙了,所以决定把这问题解决掉.写一篇文章做记录. 以上错误主要是net程序oracle数据库使用了Microsoft Enter ...
- http之http1.0和http1.1的区别
下面主要从几个不同的方面介绍HTTP/1.0与HTTP/1.1之间的差别,当然,更多的内容是放在解释这种差异背后的机制上. 1 可扩展性 可扩展性的一个重要原则:如果HTTP的某个实现接收到了自身未定 ...
- MyBatis—动态SQL
什么是动态SQL? 1.基于OGNL表达式 2.完成多条件查询的逻辑 3.动态SQL的主要元素 (if,trim,where,set,choose,foreach) where标签 可以根据if中是否 ...
- [LeetCode]206. Reverse Linked List(链表反转)
Reverse a singly linked list. click to show more hints. Subscribe to see which companies asked this ...
- Learning Query and Document Similarities from Click-through Bipartite Graph with Metadata
读了一篇paper,MSRA的Wei Wu的一篇<Learning Query and Document Similarities from Click-through Bipartite Gr ...
- Entity Framework Code First级联删除(转)
使用Data Annotations: 如果我们要到一对主从表增加级联删除,则要在主表中的引用属性上增加Required关键字,如: public class Destination { public ...