I/O 流的使用
来源:互联网 发布:mac怎么恢复出厂设置 编辑:程序博客网 时间:2024/04/29 06:58
介绍了流的分类之后,我们知道了如果想使用流,就需要在InputStream上加入一定的修饰器来进行操作。那么现在就来看一下通常我们是如何来使用流来进行操作的。
看例子:
- readByLines方法展示了使用缓冲区来按照行来读取文件。
- readStandardInput方法演示了如何从控制台读取数据。
- inputFromMemory演示了如何从内存,也就是字符串中读取数据。
- inputFromArray演示了如果需要把字符串格式化byte[]数组的情况下应该如何构建输入流。这里在读取的时候使用了两种方式,一中是借助了异常来判断终结的,是不好的。另外一种是使用了available()方法来判断是否还有未读取的内容。应该使用这种方式。另外因为程序是读取了字节的,对于字符类型的数据有可能会产生乱码,例子中给出了一种解决乱码的形式。就是把其重新存为btye数组,然后使用String的构造函数,得到原来的内容。
- outputToFile方法演示了如何把信息打印到文件中,这样可以作为记录日志的方式,用来得到日志文件进行分析。
- storingData方法演示了如何输出一个可供另外一个流进行恢复的数据。这里必须使用DataOutputStream。java保证我们使用DataOutput输出的文件不管在什么平台上都能够通过DataInput进行还原读取。当我们需要写入字符串的时候,为了能够正确的恢复必须的方法是使用UTF-8编码。即使用writeUTF()来写入。
- 单独说一下UTF-8编码,它是Unicode的变体。后者把所有的字符都存储成两个字节的形式。但是当我们使用大部分的字符为ASCII字符的时候这个做法就会浪费了空间,而UTF-8会把ASCII字符编码成单一字节,而非ASCII字符则编码成多个字节的形式。java程序中使用的readUTF()方法都是使用的适合java的UTF-8的变体,因此非java程序读取java程序写入的文件时,有可能存在问题。
- 另外我们还能够使用writerDouble()等方法写入别的数据。但是当读取的时候我们需要确切知道每个数据的位置,否则有可能导致错误。最好的保持这个格式的方法就是对象序列化。后面会介绍。
- randomAccessFile方法演示了一个文件随机读写的例子。我们能够使用seek()方法到处移动位置,或者修改文件中的某个值。
标准I/O
就是java中自带的System.out,System.in,System.err。他们都是实现了标准I/O模型的,一种输出可以作为其他程序或者设备的输入。
看例子:
- readFromConsole方法演示了一次一行的从控制台读取输入。
- printByWriter方法演示了如何把一个PrintStream转化为PrintWriter.
- redirect演示了标准I/O重定向。 通过System.setIn()等方法能够把输出从新定位到文件,这样就能够防止后台有大量的打印操作了。
- I/O 流的使用
- I/O流的典型使用方式
- I/O 流的典型使用方式
- 初级的I/O使用.
- Java I/O系统----------- I/O流的典型使用方式
- I/O流 使用举例
- 文件I/O和标准I/O的使用
- I/O字节流和字符流的使用
- 【Java.IO】I/O 流的一般使用原则
- 使用I/O流实现文件的复制
- java的I/O流
- java的I/O流
- I/O流的用法
- Java的I/O流
- 标准的I/O流
- Java的I/O流
- C++的I/O流
- I/O流的分类
- 2010年终总结
- 键盘钩子回调函数中的lParam & 0x80000000
- EC_CMS安装步骤
- 小谈枚举类型
- 新一代电子设计白皮书
- I/O 流的使用
- 汽车加油问题
- panda3d手册目录
- dataguard 验证语句
- 线程基本概念
- 如何下载台湾的硕博论文--大陆的论文不给力呀
- hiddem markov model(隐马尔科夫模型)
- MARVELL平台dma刷MCU LCD花屏
- 关于递归遍历菜单