1、字节流----对文件读取(速度慢)

/**

* 字节流---文件的读取,输出(缺点:速度慢)

*

* @throws Exception

*/

@Test

public void testIO1() throws Exception {

// 输入字节流对象

InputStream in = new FileInputStream("pkg/a.txt");

// 输出字节流对象

OutputStream out = new FileOutputStream("pkg/b.txt");

//这里定义个字节数组,用来指定每次读取的字节数

byte[] b = new byte[1024];

int len = -1;

while ((len = in.read(b, 0, b.length)) != -1) {

String str = new String(b, 0, len, "UTF-8");

System.out.println(str);

out.write(b, 0, len);

}

//关闭对象

out.close();

in.close();

}

2、带缓存的字节流---文件读取(速度快)

/**

* 缓存字节流---文件读取,输出(推荐:速度快)

*

* @throws Exception

*/

@Test

public void testIO2() throws Exception {

BufferedInputStream in = new BufferedInputStream(new FileInputStream("pkg/a.txt"));

BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("pkg/b.txt"));

byte[] b = new byte[1024];

int len = -1;

while ((len = in.read(b, 0, b.length)) != -1) {

String str = new String(b, 0, len, "UTF-8");

System.out.println(str);

out.write(b, 0, len);

}

//刷新缓冲

out.flush();

//关闭流对象

in.close();

out.close();

}

3、字节流reader,这个方法不能指定读取的字节数(不推荐)

/*

* 字节流reader,不能指定字节长度读取,不建议使用

*/

@Test

public void testIO3() throws Exception {

InputStreamReader in = new InputStreamReader(new FileInputStream("pkg/a.txt"), "UTF-8");

OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("pkg/b.txt"));

int len = -1;

while ((len = in.read()) != -1) {

System.out.println(len);

// 写入文件

out.write(len);

}

out.flush();

in.close();

out.close();

}

4、带缓冲的字节流读取方式,readLine()

/**

* 另一种字节流读取方式----可以提供readLine()的方法,一次读取一行。

*

* @throws Exception

*/

@Test

public void testIO4() throws Exception {

BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("pkg/a.txt"), "UTF-8"));

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("pkg/b.txt"), "UTF-8"));

String str;

while ((str = in.readLine()) != null) {

System.out.println(str);

out.write(str + "\n");

}

out.flush();

in.close();

out.close();

}

小结:实际在用的过程,肯定是选择带有缓冲区的字节流读取方式,另外能够指定每次读取的字节数最好不过了。因此,方式2 推荐使用。

java在文本区输出方法_Java文件的几种读取、输出方式相关推荐

  1. java 文件写入 读取_JAVA文件的两种读取方法和三种写入方法

    在使用java对文件进行读写操作时,有多种方法可以使用,但不同的方法有不同的性能. 此文对常用的读写方法进行了整理,以备不时之需. 1.文件的读取 主要介绍两种常用的读取方法.按行读取和按字符块读取. ...

  2. java中三种方法_Java文件I/O的三种方法

    Java文件I/O的三种方法 RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(Data ...

  3. Java获取文档页数_java准确读取word文件页数

    由于本人在做一个网上打印网站,遇到了一个需求是"准确读取word文件页数,从而实现计费功能",通过很长时间的学习.查资料后,终于解决了这个问题,因此把方法写出来,方便有同样需求的人 ...

  4. java 输入 输出 方法_Java常用的输入输出方法

    对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法 首先输出 大家最熟悉的莫过于输出方法,直接用S ...

  5. JAVA设置流中当前位置_java文件流的问题!急

    朋友你好,用使用 javadoc 标记可以做到.具体说明如下:: javadoc 标记是插入文档注释中的特殊标记,它们用于标识代码中的特殊引用.javadoc 标记由"@"及其后所 ...

  6. java绝对路径和相对路径_Java文件路径,绝对路径和规范路径

    java绝对路径和相对路径 Today we will look into the Java file path. Java File path can be abstract, absolute o ...

  7. java如何用c 的方法_JAVA如何调用C/C++方法

    JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能.解决JAVA对本地操作的一种方法就是JNI. JAVA通过JNI调用本地方法, ...

  8. java私有属性和私有方法_Java 9中什么是私有的?

    java私有属性和私有方法 在进行面试时,我发现大多数应聘者都不知道Java中的private修饰符真正意味着什么. 他们对此有所了解,足以应付日常编码,但还远远不够. 这不成问题. 足够了解就足够了 ...

  9. java私有属性和私有方法_Java私有,受保护,公共和默认

    java私有属性和私有方法 您是Java程序员,所以您知道我在说什么. public修饰符使方法或字段可从应用程序中的任何位置访问. 那是简单的部分. 但是,您能告诉我protected和包私有的区别 ...

最新文章

  1. bert+lstm+crf ner实体识别 带源码
  2. mysql中如何求字段的个数字_求高手帮小弟解决一下!关于mysql字段中数字提取求和的问题?...
  3. android 自定义图片上传,android自定义ImageView仿图片上传(示例代码)
  4. 业务安全通用解决方案——WAF数据风控
  5. Linux下双线双ip访问内网服务器之另类解决办法
  6. 【SpringBoot】在IOC之外的类中使用IOC内部的Bean
  7. easyui 布局自适应
  8. Linux 文件与目录基本操作
  9. ML、DL、CNN学习记录7
  10. WebApi_基于token的多平台身份认证架构设计(Z)
  11. 主成分分析、因子分析和聚类分析的区别
  12. c语言代码re通常什么错误,求帮助 C语言realloc和free触发断点的问题
  13. map.setTerrain is not a function
  14. Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)
  15. 《如何阅读一本书》读书笔记
  16. 计算机开始菜的mstsc命令,Win10一周年更新版系统CLSID(GUID)汇总
  17. 程序员赚钱的六种方式,是时候告别996了
  18. 家庭局域网网站服务器,1000元打造家庭局域网
  19. 16个时髦的扁平化设计的 HTML5 CSS3 网站模板
  20. 地铁怎么坐才不能做反_地铁怎么坐,地铁怎么坐才不能做反

热门文章

  1. 关于centos6升级python3.6无法使用pip的问题
  2. 用python实现:找出1到101 之间的质数
  3. EAS BOS 发布
  4. JS日期函数getMonth()的值域是0--11
  5. 《AlwaysRun!团队》第四次作业:项目需求调研与分析
  6. 2018-2019-2 20165209 《网络对抗技术》Exp4:恶意代码分析
  7. python基础学习笔记——方法返回值
  8. FZU 2150 Fire Game bfs
  9. Nhibernate 3.0 cookbook学习笔记 配置与架构
  10. Eclipse导入GitHub项目两处报错处理