jjzjj

FileOutputStream

全部标签

java - 无法将中文字符写入文件名

publicstaticvoidmain(String[]args)throwsIOException{Scannerin=newScanner(System.in);StringfileName=in.nextLine();Writerout=newBufferedWriter(newOutputStreamWriter(newFileOutputStream("C:/temp/"+fileName+".txt"),"UTF-8"));//Exthrownout.close();}我正在尝试创建一个可以将中文字符处理为文件名的编写器。例如,我可以创建一个名为你好.txt的文件。但是我

java - 使用 Apache POI 和 Java 创建 excel (.xlsx) 文件后文件损坏

我已经使用ApachePOIAPI成功地使用Java创建了.xlsx格式的工作簿/Excel。我的代码如下,在D盘中创建了一个名为“RiponAlWasim.xlsx”的文件:Workbookwb=newXSSFWorkbook();FileOutputStreamfileOut=newFileOutputStream("D:\\RiponAlWasim.xlsx");wb.write(fileOut);fileOut.close();wb.close();当我尝试打开“RiponAlWasim.xlsx”时,显示文件已损坏。怎么了? 最佳答案

java - 检查异常和初始化程序 block

根据JLS:如果命名类的实例变量初始值设定项或实例初始值设定项可以抛出已检查的异常类,则这是一个编译时错误,除非该异常类或其父类(superclass)之一在throws子句中显式声明其类的每个构造函数和类至少有一个显式声明的构造函数。所以如果我这样做-classA{{thrownewFileNotFoundException();}publicA()throwsIOException{//TODOAuto-generatedconstructorstub}}这给出了编译时错误“初始化程序必须正常完成”同时classA{{Filef=newFile("a");FileOutputStr

java - 在 Java Apache POI 中更新现有的 Excel 文件

我正在尝试编写一个每天运行的Java程序(使用任务计划程序),并在每次运行时将一列附加到Excel电子表格。我遇到的问题是它只是重写文件,而不是附加到文件。我正在使用ApachePOI,这里是相关代码:publicstaticvoidtoExcel(Listresults,ListnotActive)throwsIOException{try{FileInputStreamfIPS=newFileInputStream("test.xls");//ReadthespreadsheetthatneedstobeupdatedHSSFWorkbookwb;HSSFSheetworkshee

java - 使用 FileOutputStream 时访问被拒绝

我在让它工作时遇到了问题。它接受一个字符串,该字符串由几条信息放在一起组成。但是,当我尝试将字符串写入文件以跟踪程序随时间的变化时,我收到访问被拒绝错误:voidwriteToFile(Stringinput)throwsException{Filefile=newFile("C:\\WeatherExports\\export.txt");if(!file.exists()){file.createNewFile();}BufferedWriterinFile=newBufferedWriter(newFileWriter(file,true));try{inFile.append(

java - FileOutputStream 是否截断现有文件

是finalOutputStreamoutput=newFileOutputStream(file);截断文件如果它已经存在?令人惊讶的是,APIdocumentationforJava6不说。APIdocumentationforJava7也没有.specificationforthelanguageitselfFileOutputStream类的语义没有什么可说的。我知道finalOutputStreamoutput=newFileOutputStream(file,true);导致附加到文件。但是附加和截断并不是唯一的可能性。如果将100字节写入1000字节的文件,一种可能性是最

Java 解压缩带有文件夹 FileNotFoundexception 的压缩存档

我正在尝试用java解压缩一个存档,其中包含存档中的文件夹和文件。问题是每当它到达文件夹并尝试解压缩它们时都会抛出FNF异常。我的解压代码如下:privatevoidunZipUpdate(StringpathToUpdateZip,StringdestinationPath){byte[]byteBuffer=newbyte[1024];try{ZipInputStreaminZip=newZipInputStream(newFileInputStream(pathToUpdateZip));ZipEntryinZipEntry=inZip.getNextEntry();while(

java - FileNotFound(访问被拒绝)java.io 上的异常

为什么我在运行这个程序时会出现这个错误?这发生在随机迭代之后。通常在第8000次迭代之后。publicstaticvoidmain(String[]args){FileWriterwriter=null;try{for(inti=0;i异常发生后,文件不存在。这意味着它正在删除,但FIleWriter会尝试在此之前获取锁,即使它不是多线程程序。是因为Windows删除文件的速度不够快,因此FileWriter没有获得锁定吗?如果是这样,那么file.delete()方法会在Windows实际删除它之前返回吗?我该如何解决它,因为我在对我的应用程序进行负载测试时遇到了类似的问题。编辑1:

Java BufferedWriter,OutputStreamWriter 能够写入关闭的 FileOutputStream

当我将数据写入Stream时,我期望以下代码会抛出异常:Filefile=newFile("test.txt");FileOutputStreamfs=newFileOutputStream(file);OutputStreamWriterow=newOutputStreamWriter(fs);BufferedWriterwriter=newBufferedWriter(ow);fs.close();try{ow.write(65);writer.write("test");}catch(Exceptione){e.printStackTrace();}我意识到我应该关闭Buffer

java - 如何将 Pdf 转换为 base64 并编码/解码

好的,我有一些pdf需要通过base64encoder转换为base64。最后,我使用解码器转换回pdf格式,但我的内容丢失了。我的代码:byte[]input_file=Files.readAllBytes(Paths.get("C:\\user\\Desktop\\dir1\\dir2\\test3.pdf"));byte[]encodedBytes=Base64.getEncoder().encode(input_file);StringpdfInBase64=newString(encodedBytes);StringoriginalString=newString(Base6