FileWriter只能接受字符串形式的参数,也就是说只能把内容存到文本文件。相对于文本文件,采用二进制格式的文件存储更省空间。
成都创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的10多年时间我们累计服务了上千家以及全国政企客户,如成都木制凉亭等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致称誉。
InputStream用于按字节从输入流读取数据。其中的int read()方法读取一个字节,这个字节以整数形式返回0到255之间的一个值。为什么读一个字节,而不直接返回一个byte类型的值?
因为byte类型最高位是符号位,它所能表示的最大的正整数是127。
InputStream只是一个抽象类,不能实例化。FilelnputStream是InputStream的子类,用于从文件中按字节读取。
FileInputStream流被称为文件字节输入流,意思指对文件数据以字节的形式进行读取操作如读取图片视频等
public static void main(String[] args) throws IOException { String filePath = "d:/test.txt"; File file = new File (filePath); //根据文件路径创建一个文件对象 //如果找不到文件,会抛出FileNotFoundException异常 FilelnputStream filelnput = new FilelnputStream(file); } filelnput.close (); //关闭文件输入流,如果无法正常关闭,会抛出IOException异常
OutputStream中的write(int b)方法用于按字节写出数据。FileOutputStream用于按字节把数据写到文件。例如,按字节把内容从一个文件读出来,并写入另外一个新文件,也就是文件复制功能。
File fileln = new File ("source. txt"); //打开源文件 File fileOut = new File ("target.txt”); //打开写入文件,也就是目标文件 FilelnputStream streamln = new FilelnputStream (fileln); //根据源文件构建输入流 FileOutputStream streamOut = new FileOutputStream (fileOut); //根据目标文件构建输出流 int c; //从源文件中按字节读入数据,如果内容还没读完,则继续 while ((c = streamln.read()) != -1) { streamOut .write (c); //写入目标文件 } streamln.close。; //关闭输入流 streamOut.close(); //关闭输出流
判断文件是否已经存在,如果不存在则生成这个文件。
File dataFile = new File(dicDir + dataDic); if (!dataFile.exists()) { //如果文件不存在则写入文件 }
用File.mkdirs()方法可以创建多级目录。例如,当一个目录不存在时,就创建它。
File tempDir = new File(imgPath); if(!tempDir.exists()){ tempDir.mkdirs(); }
以上就是java的二进制文件怎么打开的详细内容,更多请关注创新互联其它相关文章!