Java基础——IO流
来源:互联网 发布:淘宝上传营业执照步骤 编辑:程序博客网 时间:2024/06/01 19:07
所有的流中,简单概括一下,字符流是在使用的时候,会参照字符的码表,防止字符出现乱码。而字节流就是byte位,可以操作一些。
所有IO类,其命名可以看出其中的含义,前面是用处,后面是母类。
写入或者写出,是相对于内存而言的。
讲一下特殊的:
1) , 在IO中,File类可以直接操作文件。非常方便使用。
2) , 在使用的时候,经常使用缓冲类,也就是BufferedString,BufferedInputStream,还有StringBuffer类。这些处理类,更放方便使用。
IO流分类
1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter
2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、是Char[]: CharArrayReader, CharArrayWriter
4、是String: StringBufferInputStream, StringReader, StringWriter
5、网络数据流:InputStream, OutputStream, Reader, Writer
1、要格式化输出:PrintStream, PrintWriter
1、要缓冲:BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter
1、二进制格式(只要不能确定是纯文本的): InputStream, OutputStream及其所有带Stream结束的子类
2、纯文本格式(含纯英文与汉字或其他编码方式);Reader, Writer及其所有带Reader, Writer的子类
1、输入:Reader, InputStream类型的子类
2、输出:Writer, OutputStream类型的子类
1、从Stream到Reader,Writer的转换类:InputStreamReader, OutputStreamWriter
2、对象输入输出:ObjectInputStream, ObjectOutputStream
3、进程间通信:PipeInputStream, PipeOutputStream, PipeReader, PipeWriter
4、合并输入:SequenceInputStream
5、更特殊的需要:PushbackInputStream, PushbackReader, LineNumberInputStream, LineNumberReader
常用操作代码:
in2OutStream(InputStream in, OutputStream out, int bufferSize) throws IOException {
byte[] buffer = new byte[bufferSize];// 缓冲区
for (int bytesRead = 0; (bytesRead = in.read(buffer)) != -1;) {
out.write(buffer, 0, bytesRead);
Arrays.fill(buffer, (byte) 0);
}
readFileToByteArray(File file) throws IOException {
ByteArrayOutputStream bos = null;
try {
bos = readFileToByteStream(file);
} finally {
if (bos != null)
bos.close();
}
return bos.toByteArray();
}
ByteArrayOutputStream readFileToByteStream(File file)
throws IOException {
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
try {
fis = new FileInputStream(file);
bos = new ByteArrayOutputStream();
in2OutStream(fis, bos, BUFFER_SIZE);
} finally {
if (fis != null)
fis.close();
}
return bos;
}
键盘输入: BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Scanner sc = new Scanner(System.in);
System.out.println(“请输入你的姓名:”);
String name = sc.nextLine();
System.out.println(“请输入你的年龄:”);
附加:
>>IO是非常重要的东西。在大量数据的获取,处理,存储都有体现。
>>
>>
>>
>>
- Java基础—IO流
- java基础—-IO流
- java基础—IO流
- java基础—IO流
- java基础—IO
- Java基础——IO(流)
- Java基础(十二)——IO流
- java基础——IO流
- Java基础——IO流
- java基础——IO流
- JAVA基础——IO流
- java基础——IO流
- java基础——IO流
- JAVA基础——IO流
- 【java基础】——IO流(上)
- 【Java基础】——IO流(中)
- 【Java基础】——IO流(下)
- Java基础——IO流(上)
- 遇到不支持的 Oracle 数据类型 USERDEFINED。
- Prim-NYOJ-38-布线问题
- 性能优化学习资源
- AVPlayer的基本使用
- IOMeter的初步使用
- Java基础——IO流
- Android 权限中英文对照表
- dubbo学习网站记录
- #include<stack> 主要用法
- Spark开发指南Spark Programming Guide
- 检测版本号
- ARC下dealloc过程及.cxx_destruct 的探究
- JDBC操作
- jquery ajax 同步查询