java在文本区输出方法_Java文件的几种读取、输出方式
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文件的几种读取、输出方式相关推荐
- java 文件写入 读取_JAVA文件的两种读取方法和三种写入方法
在使用java对文件进行读写操作时,有多种方法可以使用,但不同的方法有不同的性能. 此文对常用的读写方法进行了整理,以备不时之需. 1.文件的读取 主要介绍两种常用的读取方法.按行读取和按字符块读取. ...
- java中三种方法_Java文件I/O的三种方法
Java文件I/O的三种方法 RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(Data ...
- Java获取文档页数_java准确读取word文件页数
由于本人在做一个网上打印网站,遇到了一个需求是"准确读取word文件页数,从而实现计费功能",通过很长时间的学习.查资料后,终于解决了这个问题,因此把方法写出来,方便有同样需求的人 ...
- java 输入 输出 方法_Java常用的输入输出方法
对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法 首先输出 大家最熟悉的莫过于输出方法,直接用S ...
- JAVA设置流中当前位置_java文件流的问题!急
朋友你好,用使用 javadoc 标记可以做到.具体说明如下:: javadoc 标记是插入文档注释中的特殊标记,它们用于标识代码中的特殊引用.javadoc 标记由"@"及其后所 ...
- java绝对路径和相对路径_Java文件路径,绝对路径和规范路径
java绝对路径和相对路径 Today we will look into the Java file path. Java File path can be abstract, absolute o ...
- java如何用c 的方法_JAVA如何调用C/C++方法
JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能.解决JAVA对本地操作的一种方法就是JNI. JAVA通过JNI调用本地方法, ...
- java私有属性和私有方法_Java 9中什么是私有的?
java私有属性和私有方法 在进行面试时,我发现大多数应聘者都不知道Java中的private修饰符真正意味着什么. 他们对此有所了解,足以应付日常编码,但还远远不够. 这不成问题. 足够了解就足够了 ...
- java私有属性和私有方法_Java私有,受保护,公共和默认
java私有属性和私有方法 您是Java程序员,所以您知道我在说什么. public修饰符使方法或字段可从应用程序中的任何位置访问. 那是简单的部分. 但是,您能告诉我protected和包私有的区别 ...
最新文章
- bert+lstm+crf ner实体识别 带源码
- mysql中如何求字段的个数字_求高手帮小弟解决一下!关于mysql字段中数字提取求和的问题?...
- android 自定义图片上传,android自定义ImageView仿图片上传(示例代码)
- 业务安全通用解决方案——WAF数据风控
- Linux下双线双ip访问内网服务器之另类解决办法
- 【SpringBoot】在IOC之外的类中使用IOC内部的Bean
- easyui 布局自适应
- Linux 文件与目录基本操作
- ML、DL、CNN学习记录7
- WebApi_基于token的多平台身份认证架构设计(Z)
- 主成分分析、因子分析和聚类分析的区别
- c语言代码re通常什么错误,求帮助 C语言realloc和free触发断点的问题
- map.setTerrain is not a function
- Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)
- 《如何阅读一本书》读书笔记
- 计算机开始菜的mstsc命令,Win10一周年更新版系统CLSID(GUID)汇总
- 程序员赚钱的六种方式,是时候告别996了
- 家庭局域网网站服务器,1000元打造家庭局域网
- 16个时髦的扁平化设计的 HTML5 CSS3 网站模板
- 地铁怎么坐才不能做反_地铁怎么坐,地铁怎么坐才不能做反