草庐IT

FileOutputStream

全部标签

java附加到文件

我在谷歌上搜索了一段时间,但似乎找不到它,应该很容易找到。我想将一个CR附加到我使用Transformer创建的XML文件的末尾。有没有办法做到这一点>我尝试了以下操作,但结果是一个空白文件?Transformerxformer=TransformerFactory.newInstance().newTransformer();xformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,"file:///ReportWiz.dtd");xformer.transform(source,result);OutputStreamwriter=ne

java - 如何使用AOP拦截File、FileReader、FileWriter、FileInputStream、FileOutputStream的构造函数?

我想拦截File、FileReader、FileWriter、FileInputStream和FileOutputStream的构造函数,并防止任何文件名包含“..”(以防止路径遍历攻击)或“\0”(以防止文件名空字符攻击)。关于如何使用SecurityManager做同样的事情,我还有另一个悬而未决的问题,但还没有人回答它,所以我希望这种替代方法能奏效。这是用于tomcat上的springwebapp。我知道我可以通过创建自己的SafeFile、SafeFileReader等类并修改代码以使用它们来手动执行此操作。但是,我们的代码中有960个地方使用了这些对象的构造函数,所以我宁愿避

java - 重写到文件中

我写了一个像这样的简单函数:privatestaticvoidwrite(StringSwrite)throwsIOException{if(!file.exists()){file.createNewFile();}FileOutputStreamfop=newFileOutputStream(file);if(Swrite!=null)fop.write(Swrite.getBytes());fop.flush();fop.close();}每次我调用它时,它都会重写,然后我只得到最后写入的项目。我怎样才能把它改成不重写?file变量被全局定义为File。

JAVA:文件输入流和文件输出流

我对输入和输出流有这种奇怪的感觉,我无法理解。我使用输入流从这样的资源中读取属性文件:Propertiesprop=newProperties();InputStreamin=getClass().getResourceAsStream("/resources/SQL.properties");rop.load(in);returnprop;它找到了我的文件并成功将其标记为红色。我尝试像这样编写修改后的设置:prop.store(newFileOutputStream("/resources/SQL.properties"),null);我在存储时遇到了奇怪的错误:java.io.Fi

java读写构造

谁能解释一下为什么这个结构不起作用:while(fileInputStream.available()>0){fileOutputStream.write(fileInputStream.read());}这个工作得很好:while(fileInputStream.available()>0){intdata=fileInputStream.read();fileOutputStream.write(data);}对我来说它们是相同的,但第一个不会正确写入数据(将写入文件长度/数据的一半)。 最佳答案 您错误地使用了availabl

java - google appengine 不支持 FileOutputStream

我正在尝试写入GoogleAppengine中的文件,但它给出错误消息GoogleAppEngine的Java运行时环境不支持java.io.FileOutputStream即使我导入了importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException; 最佳答案 嗯,这不是Java编译器错误。此类是GoogleAppEngine中的受限API,您不得使用它。在此处阅读有关GAEJava运行

java - 关闭使用 FileOutputStream 创建的文件,以便进行下一次删除

目前我的Java代码中的FileOutputStream遇到了一些问题。实际上我正在使用FileOutputStream来创建文件,但是一旦创建了文件就无法删除它。据我所知,这可能是因为FileOutputstream没有关闭。在我总结的代码下面:outFile=newFileOutputStream(dir+"\\"+fileName);outFile.write("Test");outFile.flush();outFile.close();outFile=null;System.gc();那么就没有办法删除文件了,即使是“手动”。当我的程序启动时,我无法通过简单的del在Wind

java - Java自带的Transformer库将文件路径中的空格转换成%20

这是一个写出XML文件的测试应用程序。为什么我的路径中的空格被转换为%20?publicclassXmlTest{publicstaticvoidmain(String[]args){Stringfilename="C:\\NewFolder\\test.xml";try{DocumentBuilderFactorydocFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdocBuilder=docFactory.newDocumentBuilder();Documentdoc=docBuilder.newDocum

java - 将 Byte[] append 到二进制文件的末尾

我正在解析一个文件。我正在创建一个新的输出文件,并且必须向其中添加“byte[]数据”。从那里我需要将许多其他“byte[]数据”append到文件末尾。我想我会让用户为输出文件名添加一个命令行参数,因为我已经让他们提供了我们正在解析的文件名。也就是说,如果系统中尚未创建文件名,我觉得我应该生成一个。现在,我不知道该怎么做。我的程序当前正在使用DataInputStream来获取和解析文件。我可以使用DataOutputStream追加吗?如果是这样,我想知道如何append到文件而不是覆盖。 最佳答案 IfsoI'mwonderi

java - 使用基于字节的 FileOutputStream 时出现奇怪的符号,基于字符的 FileWriter 是可以的

任务:WriteaJavaapplicationthatcreatesafileonyourlocalfilesystemwhichcontains10000randomlygeneratedintegervaluesbetween0and100000.Trythisfirstusingabyte-basedstreamandtheninsteadbyusingachar-basedstream.Comparethefilesizescreatedbythetwodifferentapproaches.我制作了基于字节的流。运行这个程序后,在fileOutput中我得到了一些奇怪的符号