首先,我们需要了解出现java.nio.charset.MalformedInputException: Input length = 1错误的原因。这个异常通常表示在读取文件时遇到了无效的字符编码。在处理YAML文件时,最常见的原因是文件使用了不同的字符编码,而读取时使用了错误的字符编码。YAML文件通常使用UTF-8编码,但有时也可能是其他编码方式。解决这个问题的方法...
今天写spark程序的时候遇到了一个问题就是,读取文件的时候报了一个错:“Exception in thread "main" java.nio.charset.MalformedInputException: Input length = 1” 读取文件的代码如下: 一看这个这个错“nio”错误,第一感觉就是读文件方法这里出了问题,于是点击去看了一下Source.fromFile这个方法的源码: 果然,这...
简介:scala 读取文件(中文)异常 thread "main" java.nio.charset.MalformedInputException: Input length = 1 scala读取文件(中文)异常 thread "main" Source.fromFile java.nio.charset.MalformedInputException: Input length = 1 其实吧,就是你读取的文件中读取了中文。 def read() = {//读取到文件,返回Strin...
读取文件时设置的字符编码错误,查看原文件的编码,在Source.fromFile中重新设置即可
console.log("File length: ", length, " bytes"); end section 关闭FileInputStream script fis.close(); end 结论 使用Java的FileInputStream类可以方便地读取文件的内容,并获取文件的长度。通过本文中的代码示例,我们可以学习到如何使用FileInputStream来读取文件长度,并且可以根据需要进行相应的文件处理。
所以这种情况就必须使用while循环读取,通过返回值来确定读取的字节数(读取文件的时候最好也这么做) while ((length = inputStream.read(data, 0, data.length)) != -1) { XXXX } 1. 2. 3.
1,InputStream是输入流的抽象基类,定义了输入流应该实现的方法。 2,很重要的一个方法是read(byte[] buffer,int offset,int length),三个参数分别代表读到哪,从当前位置开始读取的偏移,读取长度。 3,一定要注意编码,比如UTF-8中中文一般占3个字节,数字和英文字母占一个字节,其他编码就不一定了,如果读取中文时le...
new FileInputStream(downloadFile));outputStream = new BufferedOutputStream(response .getOutputStream());byte[] buffer = new byte[1024];int readIndex;while (-1 != (readIndex = inputStream.read(buffer, 0,buffer.length))) { outputStream.write(buffer, 0, readIndex);} ...
int read(byte[] b):读取最多b.length个字节的数据到字节数组b中。 int read(byte[] b, int off, int len):读取最多len个字节的数据到字节数组b的off偏移量开始的位置。 例如,使用read(byte[] b)方法读取文件内容: java byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inp...
("E:"+File.separator+"java2"+File.separator+"StreamDemo"+File.separator+"test.txt"); InputStream in = new FileInputStream(f); byte b[]=new byte[(int)f.length()]; //创建合适文件大小的数组 in.read(b); //读取文件中的内容到b[]数组 in.close(); System.out.println(new String(b)...