主要分为字节读取和字符读取,字节读取可以一个一个读取和字节数组读取,字符读取同样之,字符读取适合文本读取,字节读取皆可以
这里直接上代码,读取文件的9个小demo
package com.io; import org.junit.Test; import java.io.*; public class FileTest {
//1、字节流字节一个一个读取
@Test
public void test() throws IOException{
InputStream fis = new FileInputStream(new File("E:\\project_test\\src\\com\\io\\readme.txt"));
int len;
//按字节一个一个读取
while ((len = fis.read())!=-1){
System.out.print((char)len+"\t");
};
fis.close();
}
//输出结果h e l l o w o r l d //2、字节流字节数组读取
@Test
public void test1() throws IOException{
InputStream fis = new FileInputStream(new File("E:\\project_test\\src\\com\\io\\readme.txt"));
byte[] bytes = new byte[2];
int len ;
//按字节数组读取 bytes存储的是读取的数据
while ((len = fis.read(bytes))!=-1){
System.out.print((new String(bytes))+"\t");
};
fis.close();
}
//输出结果 he ll ow or ld //3、缓冲字节流字节一个一个读取
@Test
public void test2() throws IOException{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(new File("E:\\project_test\\src\\com\\io\\readme.txt")));
int len ;
while ((len = bis.read())!=-1){
System.out.print((char)len+"\t");
};
bis.close();
}
//输出结果h e l l o w o r l d
//4、缓冲字节流字节数组读取
@Test
public void test3() throws IOException{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(new File("E:\\project_test\\src\\com\\io\\readme.txt")));
byte[] bytes = new byte[3];
int len ;
//按字节数组读取 bytes存储的是读取的数据
while ((len = bis.read(bytes))!=-1){
System.out.print(new String(bytes)+"\t");
};
bis.close();
}
//输出结果hel low orl drl //5、字符流一个一个读取
@Test
public void test4() throws IOException{
InputStreamReader isr = new InputStreamReader(new FileInputStream(new File("E:\\project_test\\src\\com\\io\\readme.txt")));
int len ;
//按字节数组读取 bytes存储的是读取的数据
while ((len = isr.read())!=-1){
System.out.print((char)len+"\t");
};
isr.close();
} //6、字符流字符数组读取
@Test
public void test5() throws IOException{
InputStreamReader isr = new InputStreamReader(new FileInputStream(new File("E:\\project_test\\src\\com\\io\\readme.txt")));
char[] chars = new char[3];
int len ;
//按字节数组读取 bytes存储的是读取的数据
while ((len = isr.read(chars))!=-1){
System.out.print(new String(chars)+"\t");
};
isr.close();
} //7、缓冲字符流字符一个一个读取
@Test
public void test6() throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("E:\\project_test\\src\\com\\io\\readme.txt"))));
int len ;
//按字节数组读取 bytes存储的是读取的数据
while ((len = br.read())!=-1){
System.out.print((char)len+"\t");
};
br.close();
} //8、缓冲字符流字符数组读取
@Test
public void test7() throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("E:\\project_test\\src\\com\\io\\readme.txt"))));
char[] chars = new char[3];
int len ;
//按字节数组读取 bytes存储的是读取的数据
while ((len = br.read(chars))!=-1){
System.out.print(new String(chars)+"\t");
};
br.close();
} //9、缓冲字符流按行读取
@Test
public void test8() throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("E:\\project_test\\src\\com\\io\\readme.txt"))));
//按字节数组读取 bytes存储的是读取的数据
String str;
while ( (str = br.readLine())!=null){
System.out.print(str+"\t");
};
br.close();
}
}
待更。。。。。。。。。。。。。。
java -io 读取文件操作的更多相关文章
-
Java IO读取文件之二
package com.lf.iopreoject; import java.io.BufferedReader; import java.io.File; import java.io.FileIn ...
-
java IO与文件操作
文件创建与删除 创建目录或文件 createNewFile() 需要文件目录已存在 public class IO { public static void main(String args[]) { ...
-
java 通过内存映射文件来提高IO读取文件性能
MappedByteBuffer out = new RandomAccessFile("src/demo20/test.dat", "rw"). getCha ...
-
java.io中流的操作:字节流、字符流
java.io中流的操作:字节流.字符流(1)使用File类打开一个文件(2)通过字节流或字符流的子类指定输出的位置(3)进行读/写操作(4)关闭输入/输出 1.字节流:主要是byte类型数据,以by ...
-
Java中的文件操作(一)RandomAccessFile
今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...
-
java IO流文件的读写具体实例(转载)
引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能 ...
-
Java IO 流-- 文件拷贝
IO流操作套路: 1.创建源: 2.选择流: 3.操作: 4.释放资源 上代码: package com.xzlf.io; import java.io.File; import java.io.Fi ...
-
Java审计之文件操作漏洞
Java审计之文件操作漏洞篇 0x00 前言 本篇内容打算把Java审计中会遇到的一些文件操作的漏洞,都给叙述一遍.比如一些任意文件上传,文件下载,文件读取,文件删除,这些操作文件的漏洞. 0x01 ...
-
Java IO :文件
在java应用程序中,文件是一种常用的数据源或者存储数据的媒介.所以这一小节将会对Java中文件的使用做一个简短的概述.这里只提供一些必要的知识点. 通过Java IO读文件 如果你需要在不同端之间读 ...
随机推荐
-
PHP5.2至5.6的新增功能详解
截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注]. 因为 PHP ...
-
c#链接数据库
using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; usin ...
-
[MySQL] 关系型数据库的设计范式 1NF 2NF 3NF BCNF
一.缘由: 要做好DBA,就要更好地理解数据库设计范式.数据库范式总结概览: 为了更好地理解数据库的设计范式,这里借用一下知乎刘慰老师的解释,很通俗易懂.非常感谢! 二.具体说明: 首先要明白”范 ...
-
mysql高可用框架-MHA
MHA高可用架构 用一个管理节点监控后端数据库主库可用性 提供VIP漂移接口,不提供具体方法 提供补全从库日志的脚本 MHA 监控主库,提供自动主从切换: 提供VIP漂移接口 提供补全从库日志的脚 ...
-
NSURLConnection、NSURLSession 补充
一.大文件下载1.方案:利用NSURLConnection和它的代理方法1> 发送一个请求 // 1.URL NSURL *url = [NSURL URLWithString:@"h ...
-
java——%
%; //结果为1 %; //结果为-1 ; //结果为1.2000000000000002
-
codis 新版本 CodisLabs 编译安装
codis 3.0 版本编译安装 # 首先安装 go 语言 wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz ...
-
python全栈开发-logging模块(日记专用)
一.概述 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,l ...
-
git克隆远程仓库的时候断电了,使用git-fetch断点续传
今天下载tensorflow serving 模型,但是因为主机电源线太长了,不知是我自己搞的还是同事,断电了都, 网速捉急,下载了挺长时间的,一看,git clone 到中途竟然断电,不过查看,还好 ...
-
wait()函数的详细分析
之前一直没太深入的去理解wait()函数,今天机缘巧合之前又看了看,发现之前没有真正的理解该函数. 众所周知,wait()函数一般用在父进程中等待回收子进程的资源,而防止僵尸进程的产生. (In UN ...