读取字节的方式
来源:互联网 发布:男士补水 知乎 编辑:程序博客网 时间:2024/05/20 16:44
读取数据的方式:
InputStream
1、 一个字节一个字节的读:
实例代码:
File file=new File("E:\\TestMain.java");
try {
InputStream is=new FileInputStream(file);
int data=-1;
while((data=is.read())!=-1){
System.out.print((char)data);
}
is.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
2、一段一段的读:
File file=new File("E:\\TestMain.java");
byte[] bytes=new byte[100];
try {
InputStream is=new FileInputStream(file);
int data=-1;
while((data=is.read(bytes))!=-1){
System.out.print(new String(bytes,0,data));
}
is.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
3、文件全部读取,知道文件长度。
File file=new File("E:\\TestMain.java");
byte[] bytes=new byte[(int)file.length()];
try {
InputStream is=new FileInputStream(file);
// int data=-1;
// while((data=is.read(bytes))!=-1){
// System.out.print(new String(bytes,0,data));
// }
is.read(bytes);
System.out.println(new String(bytes));
is.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
}
优缺点:
全部读取:效率高:但是byte数组要占内存,如果文件太大,则在new byte[]时要占用大量的内存,再说要将文件的长度转换为int型,如果文件太大,则int满足不了,不能转换。中文字符可以显示,因为它全部读取。
- 读取字节的方式
- 字节流的方式读取文件
- InputStream 一个字节一个字节的读取
- 字节的对齐方式
- java字节流的方式复制一个文件,按数组读取和写入
- Dalvik 字节码的读取
- io文件操作(多种读取方式-字节,字符,行,随机)
- day14 pickle只支持字节方式 读取和写入
- java的读取方式
- 读取密码的方式
- VC 如何读取字节的每一位
- 读取二进制文件特定位置的某些字节
- 读取字节流的方法解决
- 加密数据之 -- 字节流的读取
- VC 如何读取字节的每一位
- VC 如何读取字节的每一位
- 字节流读取的速度比较
- 字节流读取中文的问题
- 牛人博客
- 反射
- Cygwin安装、使用和软件更新
- spring声明式事务隔离级别和传播途径
- 常见的基本流
- 读取字节的方式
- 运行smartfoxserver 2x提供的示例游戏SFS2X-FPS-Tutorial
- Windows Service 简单教程
- java中的反射机制
- java.util.ConcurrentModificationException异常 解决方法
- java 字节流和字符流
- 集合
- 用c语言动态操作sqlite3数据库v1.0
- 包装类