java文件流读取可以打断吗

Python020

java文件流读取可以打断吗,第1张

java文件流读取不能打断。Javaprogramminglanguage具有大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的"形式和感觉",但它要比C++语言更易于使用,而且在编程时彻底采用了一种"以对象为导向"的方式。使用Java编写的应用程序,在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行Java还被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

题主问的是java文件流读取pdf文件读到一半返回-1是什么意思?达到了流的结尾。

返回-1是到达的意思,java文件流读取pdf文件读到一半返回-1意味着已经达到了流的结尾,因此在该流中没有更多内容可以阅读,需要重新打开。

java是一种计算机编程语言,拥有跨平台,面向对象,泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发,任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言。

首先你要知道java的io流主要分两种,一种是字符流,另一种字节流,还有一种过滤流,这个不常用,暂且可以忽略。

等你这些都掌握了,推荐你用nio包中的管道流。

流的套用可以提升读写效率(这种方式只能是同类流的套用,比如字节流套用字节流),还有一种是字符流与字节流互相转换,转换通过一种叫做“桥转换”的类,比如OutputStreamWriter类。

下面举个最基础的字节流例子:

public void copyFile(String file, String bak) {

BufferedInputStream bis = null

BufferedOutputStream bos = null

try {

byte[] bytes = new byte[1024]

bis = new BufferedInputStream(new FileInputStream(file))//BufferedInputStream会构造一个背部缓冲区数组,将FileInputStream中的数据存放在缓冲区中,提升了读取的性能

bos = new BufferedOutputStream(new FileOutputStream(bak))//同理

int length = bis.read(bytes)

while (length != -1) {

System.out.println("length: " + length)

bos.write(bytes, 0, length)

length = bis.read(bytes)

}

} catch (Exception e) {

e.printStackTrace()

} finally {

try {

bis.close()

bos.close()

} catch (IOException ex) {

ex.printStackTrace()

}

}

}

字符流的用法:

FileReader fr = new FileReader("D:\\test.txt")

BufferedReader br = new BufferedReader(fr)

或者PrintWriter pw = new PrintWriter(new FileWriter("D:\\test.txt"))

...