您的位置:首页 > 游戏 > 手游 > 淄博做网站公司有哪些_开发区人才市场招聘信息最新招聘_怎么做seo信息优化_百度指数数据下载

淄博做网站公司有哪些_开发区人才市场招聘信息最新招聘_怎么做seo信息优化_百度指数数据下载

2025/5/2 2:05:02 来源:https://blog.csdn.net/qq_63964907/article/details/144542057  浏览:    关键词:淄博做网站公司有哪些_开发区人才市场招聘信息最新招聘_怎么做seo信息优化_百度指数数据下载
淄博做网站公司有哪些_开发区人才市场招聘信息最新招聘_怎么做seo信息优化_百度指数数据下载

目录

  • 1.IO概述
    • 1.1流的分类
  • 2.字符流
    • 2.1 案例

1.IO概述

IO(Input/Output):输入和输出,指的是某个设备或环境进行数据的输入或者输出。例如:键盘的输入,再比如显示器就是输出设备,输出图像。
对于java来说输入输出问题,java将它抽象成流对象来解决。
以游戏程序为中心读取文件就是输入,写入文件是输出。

1.1流的分类

IO流在java中从输入输出角度分类:
1.输入流:从数据源读取数据,例如从文件、键盘等读取数据。
2.输出流:将数据写入到目的地,例如写入文件、屏幕等。
IO流在java中从数据的角度来分类:
1.字符流:文本,我们能读的懂的都可以认为是字符流。比如:文章,java文件等等
2.字节流:二进制的数据,这种数据一般用文本打开我们读不懂。比如,图片文件,mp3文件,等等。

2.字符流

文本,我们能读的懂的都可以认为是字符流。比如:文章,java文件等等
字符流
(1)输出流:以 “Writer” 结尾,例如 FileWriterBufferedWriter 等。

在这里插入图片描述

(2)输入流:以 “Reader” 结尾,例如 FileReaderBufferedReader 等。
在这里插入图片描述

字符流的类的命名的规则:
如果是输出流就以Writer结尾
如果是输入流就以Reader结尾

2.1 案例

使用字符流向一个文件输入helloworld。
分析步骤:

  1. 创建文件对象,指定文件路径和名称。
  2. 创建输出流对象,例如 FileWriter
  3. 将输出流指向指定的文件。
  4. 使用输出流对象的 write() 方法写入数据。
  5. 释放资源,关闭输出流

在这里插入图片描述

public class IOTest {public static void main(String[] args) {// 创建文件File file = new File("test.txt");Writer writer = null;try {// 创建输出流对象writer = new FileWriter(file);// 写入数据writer.write("HelloWorld");} catch (IOException e) {e.printStackTrace();} finally {// 关闭输出流if (writer != null) {try {writer.close();} catch (IOException e) {e.printStackTrace();}}}}
}

如果想在已有文件内容的末尾添加数据,可以使用 FileWriter 的构造方法,并传入第二个参数 true,表示追加模式。

public class IOTest4 {public static void main(String[] args) {Writer writer = null;try {//IO流是需要关闭的,如果不这样设计就会不能关闭资源//writer = new FileWriter("test1.txt", true);writer = new FileWriter(new File("test1.txt"), true);writer.write("liangliang");} catch (IOException e) {e.printStackTrace();}finally {//判断writer不是空防止空指针异常if(writer != null) {try {//在关闭前会做flush的事情writer.close();} catch (IOException e) {e.printStackTrace();}}}}
}

换行:
输出换行
把文本写入文件中\n代表换行
问题是不同的环境下换行的方式也不一样
Windows: \r\n
Linux:\n
Mac:\r

public class IOTest5 {public static void main(String[] args) {//创建一个文件File file = new File("test.txt");Writer writer = null;try {//IO流是需要关闭的,如果不这样设计就会不能关闭资源writer = new FileWriter(file);for (int i = 0; i < 100; i++) {writer.write("HelloWorld\r\n");//每次写入10个helloworld的时候做一次flushif(i % 10 == 0){writer.flush();}}} catch (IOException e) {e.printStackTrace();}finally {//判断writer不是空防止空指针异常if(writer != null) {try {//在关闭前会做flush的事情writer.close();} catch (IOException e) {e.printStackTrace();}}}}
}

Writer的五种写入的方法

除了 write() 方法之外,Writer 还提供了其他几种写入方法:

  • write(char[] cbuf): 将字符数组写入文件。
  • write(char[] cbuf, int off, int len): 将字符数组的一部分写入文件。
  • write(int c): 将一个字符写入文件。
  • write(String str): 将字符串写入文件。
  • write(String str, int off, int len): 将字符串的一部分写入文件。
public class IOTest6 {public static void main(String[] args) {//创建一个文件File file = new File("test.txt");Writer writer = null;try {writer = new FileWriter(file);//定义一个数组char[] c = {'a','b','p','b','p'};/*writer.write(c);//把数组中的一部分写入文件writer.write(c, 2, 2);writer.write(97);*/writer.write("helloworld", 2, 2);} catch (IOException e) {e.printStackTrace();}finally {if(writer != null) {try {writer.close();} catch (IOException e) {e.printStackTrace();}}}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com