java读取二进制流文件_Java基础之读文件——使用输入流读取二进制文件(StreamInputFromFile)...

控制台程序,读取Java基础之读文件部分(StreamOutputToFile)写入的50个fibonacci数字。

import java.nio.file.*;

import java.nio.*;

import java.io.*;

public class StreamInputFromFile {

public static void main(String[] args) {

Path file = Paths.get(System.getProperty("user.home")).resolve("Beginning Java Struff").resolve("fibonnaci.bin");

if(!Files.exists(file)) {

System.out.println(file + " does not exist. Terminating program.");

System.exit(1);

}

final int count = 6; // Number of values to be read each time

// Buffer to hold count values

ByteBuffer buf = ByteBuffer.allocate(8*count);

LongBuffer values = buf.asLongBuffer();

byte[] bytes = buf.array(); // Backing array for buf

int totalRead = 0; // Total value read

try(BufferedInputStream fileIn = new BufferedInputStream(Files.newInputStream(file))){

int numberRead = 0;

while(true) {

numberRead = fileIn.read(bytes, 0, bytes.length);

if(numberRead == -1) // EOF reached

break;

totalRead += numberRead/8; // Increment total

for(int i = 0 ; i < numberRead/8 ; ++i) // Access as many as there are

System.out.format("%12d", values.get());

System.out.println(); // New line

values.flip(); // Reset for next input

}

System.out.format("%d values read.%n", totalRead);

} catch(IOException e) {

System.err.println("Error writing file: " + file);

e.printStackTrace();

}

}

}

Java基础之读文件——使用通道读取混合数据2(ReadPrimesMixedData2)

控制台程序,本例读取Java基础之写文件部分(PrimesToFile2)写入的Primes.txt. 方法二:设置一个任意容量的.大小合适的字节缓冲区并且使用来自文件的字节进行填充.然后整理出缓冲区 ...

Java基础之读文件——使用通道读取混合数据1&lpar;ReadPrimesMixedData&rpar;

控制台程序,本例读取Java基础之写文件部分(PrimesToFile2)写入的Primes.txt. 方法一:可以在第一个读操作中读取字符串的长度,然后再将字符串和二进制素数值读入到文本中.这种方式 ...

Java基础之读文件——使用缓冲读取器读取文件(ReaderInputFromFile)

控制台程序,本例读取Java基础之写文件部分(WriterOutputToFile)写入的Saying.txt. import java.io.*; import java.nio.file.*; i ...

Java基础之读文件——从文件中读取文本(ReadAString)

控制台程序,使用通道从缓冲区获取数据,读取Java基础之写文件(BufferStateTrace)写入的charData.txt import java.nio.file.*; import java ...

Java基础之读文件——使用通道读二进制数据(ReadPrimes)

控制台程序,本例读取Java基础之写文件部分(PrimesToFile)写入的primes.bin. import java.nio.file.*; import java.nio.*; import ...

Java基础之读文件——使用通道随机读取文件(RandomFileRead)

import java.nio.file.*; import java.nio.channels.FileChannel; import java.io.IOException; import jav ...

Java基础之读文件——使用通道随机读写文件(RandomReadWrite)

控制台程序,使用通道随机读写primes_backup.bin文件. import static java.nio.file.StandardOpenOption.*; import java.nio ...

Java基础之读文件——使用通道复制文件(FileBackup)

控制台程序,除了使用Files类中使用copy()方法将文件复制外,还可以使用FileChannel对象复制文件,连接到输入文件的FileChannel对象能直接将数据传输到连接到输出文件的FileC ...

【练习】Java中的读文件,文件的创建,写文件

前言 大家好,给大家带来Java中的读文件,文件的创建,写文件的概述,希望你们喜欢 读文件 public static void read(String path,String filename){ ...

随机推荐

Maven Super POM

Maven super POM defines some properties. Three ways to find it ${M2_HOME}/lib/maven-model-builder-3. ...

SQL&ast;Loader之CASE6

CASE6 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase6.sql set termout off rem host write sys$output &quo ...

AngularJs学习第一课 Hello World

首先先介绍一下:AngularJS是干什么的. AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了 ...

1057 N的阶乘(大数运算)

题目链接:51nod 1057 N的阶乘 #include using namespace std; typedef long long ll; ; const int m ...

System&period;exit&lpar;0&rpar;和System&period;exit&lpar;1&rpar;区别:

System.exit(0)是将你的整个虚拟机里的内容都停掉了,而finish()只是退出了activity,并没有退出应用,Application还是存在于内存中的,除非被系统回收.无论如何,内存都 ...

EditorWindow edit ScriptableObject

using UnityEngine; [System.Serializable] public class Weapon { //[SerializeField] public string weap ...

JS 控制文本框只能输入中文、英文、数字与指定特殊符号

想做姓名输入的js判断是否是中文,但是网上找的很多是源于一篇文章的,判断中文的正则式不对,后来找到一个可以准确判断了,但是是监测里面有中文的就行,跟我想要的只能输入中文的意思相左,所以又找了下面的 J ...

Extjs中grid前端分页使用PagingMemoryProxy【二】

在项目中遇到Grid前端分页,本人也是刚接触extjs没多久,为了实现效果,一直找了很久才实现出来,对于代码中的一些也不能详细的说明出来, 不知道能不能帮助到遇到同样问题的朋友,所以将例子代码 ...

Pycon 2017: Python可视化库大全

本文首发于微信公众号“Python数据之道” 前言 本文主要摘录自 pycon 2017大会的一个演讲,同时结合自己的一些理解. pycon 2017的相关演讲主题是“The Python Visua ...

java-HashMap默认机制

HashMap:键值对(key-value): 通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value. 默认是1:1关系: 存在则覆盖,当key已经存在,则利用新的value ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值