Java输入输出流2
来源:互联网 发布:二战美国重型卡车数据 编辑:程序博客网 时间:2024/05/17 19:19
Java程序中的输入输出操作都是以流的形式进行的,如果数据的流向是从程序到设备则是输出流,否则为输入流。
在读字符的时候用字符流,如文本文件、XML等。在读取二进制的时候用字节流。如RAR、EXE等不是文本以外的文件(图片)。以Buffered开头的流只是增加了缓冲区,以提高读取效率。点击打开链接
<span style="font-size:18px;">package cn.hpu.edu.hlj;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class Test3 {public static void main(String[] args) {try{FileInputStream fis = new FileInputStream("d://helloworld.txt");BufferedInputStream bis = new BufferedInputStream(fis);int c =0;System.out.println(bis.read());//读取的是文件helloworld里的第一个字节n的ASCII码值110System.out.println(bis.read());//读取的是文件helloworld里的第二个字节i的ASCII码值105bis.mark(10);//找到文件中的第十个字节(在helloworld文件中第十个字节整好是空格)for(int i=0;i<10&((c=bis.read())!=-1);i++){System.out.println((char)c+"");}System.out.println();bis.reset();//将此流重新定位到最后一次对此输入流调用mark 方法时的位置(返回到开始mark的那个空格)for(int i=0;i<10&((c=bis.read())!=-1);i++){System.out.println(c+"");}bis.close();}catch(Exception e){e.printStackTrace();}}}</span>
<span style="font-size:18px;">其中:helloworld.txt中的内容为:ni shi wo de xiao a xiao ping guo zen me ai ni dou bu xian duo hong hong de xiao jiu wo wen nuan le wo de xin </span>
<span style="font-size:18px;">运行结果:</span>110 (读取的是文件helloworld里的第一个字节n的ASCII码值110)
105 (读取的是文件helloworld里的第二个字节i的ASCII码值105)
s
h
i
w
o
d
e
32 (s前面那个空格的ASCII码值)
115 (s的ASCII码值)
104 (h的ASCII码值)
105 (i的ASCII码值)
32 (空格的ASCII码值)
119 (w的ASCII码值)
111 (o的ASCII码值)
32 (空格的ASCII码值)
100 (d的ASCII码值)
101 (e的ASCII码值)
代码块二:
public static void main(String[] args){
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("d://java//test//char.txt"));
osw.write("haohaoxuexi tiantianxiangshang");
System.out.println(osw.getEncoding());//获取编码形式
osw.close();
osw = new OutputStreamWriter(new FileOutputStream("d://java//test//char.txt",true),"ISO8859_1");//参数true 代表在char.txt原有内容的基础上继续添加新的内容。若不写true的话,新的内容将会覆盖原来char.txt文件中的内容。
osw.write("haohaoxuexi tiantianxiangshang");
osw.flush();//将缓冲区中的内容完全给写出来
System.out.println(osw.getEncoding());
}
运行结果为:
GBK
ISO8859_1
- Java输入输出流2
- Java输入输出流2
- Java输入输出流(2)
- Java输入输出(2)--流
- Java输入输出流(2)
- Java输入输出流-----字符流(2)
- Java输入输出流
- 浅谈java输入输出流
- Java的输入输出流
- Java输入输出流
- 9.1 Java输入输出流
- 【分享】Java输入输出流
- Java的输入输出流
- JAVA中的输入输出流
- java 输入输出流
- 浅谈java输入输出流
- JAVA 输入输出流
- Java输入输出流
- Java web----jsp指令
- Java 位运算(移位、位与、或、异或、非)
- OJ之函数计算题
- 字符串xml生成xml文件
- 高手教你如何在Dreamweaver中编写CSS
- Java输入输出流2
- 第三章 界面UI的基石—UI布局(2)
- Oracle EBS Form Trigger学习大全
- 怎么获得pb数据窗口中的所有列的名字,包括不显示的列
- html/jsp有些别的电脑不可以显示
- HTML:介绍几个不常用的HTML标签
- 如何用CSS控制图片自适应大小的方法
- python os.path.sep
- leetcode_题解_Maximum Depth of Binary Tree_简单题