草庐IT

FileOutputstream

全部标签

android - 如何将潜在巨大的 InputStream 写入文件?

我有一个返回字节数组的API调用。我目前将结果流式传输到一个字节数组中,然后确保校验和匹配,然后将ByteArrayOutputStream写入文件。代码是这样的,它工作得很好。Stringpath="file.txt";ByteArrayOutputStreambyteBuffer=newByteArrayOutputStream();intbufferSize=1024;byte[]buffer=newbyte[bufferSize];intlen=0;while((len=inputStream.read(buffer))!=-1){byteBuffer.write(buffer

android - 使用相机 Intent 拍照并保存到文件

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:AndroidCamera-SaveimageintoanewfolderinSDCard我正在尝试拍照并将其保存到文件中。问题来了,我正在尝试将位图保存到文件中。这是我的代码:privatevoidtakePic(){IntentcameraIntent=newIntent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(cameraIntent,2);}publicvoidonActivityResult(i

安卓媒体播放器 : setDataSource issue for downloaded media file

我有一个可以录制和播放音频文件的应用程序。一些音频文件是使用httpclient使用简单的标准http下载来下载的。很长一段时间,它就像一个魅力。现在突然间我无法播放我下载的文件。此堆栈失败。我将文件存储在SDCard上,但在手机和USB连接设备上都遇到了问题。我已经检查过下载的文件在服务器上没有问题,我可以毫无问题地播放它。这些是我使用的代码fragment(我知道recordingFile是该文件的有效路径)。//insidetheactivityclassprivatevoidplayRecording()throwsIOException{FilerecordingFile=n

java - FileOutputStream try-with-resources 不关闭文件描述符

我有一些代码可以将一些特定的大型(大约15k个条目)二进制序列化文件存档提取到磁盘上的文件夹。publicvoidextractExact(PathabsolutePath,DoubleConsumerprogressConsumer)throwsIOException{...//Extracttofilechanneltry(finalFileOutputStreamfos=newFileOutputStream(absolutePath.toFile())){PakExtractor.Extract(pakFile,Entry,fos.getChannel(),progressCo

Java NIO 和 Windows 磁盘访问

JavaNIO在Windows上是否需要特殊权限?当我在WindowsServer2003上运行以下Java代码时,它失败并显示“访问被拒绝”错误(这是cygwin终端窗口中的完整消息):newFileOutputStream(outputFile).getChannel().transferFrom(newFileInputStream(inputFile).getChannel(),0,Long.MAX_VALUE);但是如果我使用Apachecommons-io(我假设它不使用NIO,它可以使用相同的输入和输出文件:finalFileInputStreaminputStream=

java - 数据传输无法使用 ObjectOutputStream.writeObject()

我创建了一个android到pc的客户端-服务器应用程序,在我的应用程序的其他功能中,我使用ObjectOutputStream.writeObject(AbstractPacketobject)来发送控件和数据b/w我的应用程序,它们都工作正常,现在当我尝试发送文件(例如:一个小的jpg/png文件),在将文件字节发送到服务器端并重新创建原始jpg文件后,该文件显示其已损坏并且不显示,但其大小与发送的完全相同从客户端android应用程序。这是一些代码,客户端:(文件到字节数组)byte[]mybytearray=newbyte[(int)myFile.length()];FileI

Java覆盖现有的输出文件

我的程序目前正在使用FileOutputStreamoutput=newFileOutputStream("output",true);while循环创建输出文件(如果尚未创建)并使用在while循环的每次迭代中将一些数据append到此文件output.write(data).这很好,这就是我想要的。如果我再次运行该程序,文件大小只会增加一倍,因为它将准确的信息append到文件末尾。这不是我想要的。如果我再次运行该程序,我想覆盖该文件。 最佳答案 Thisdocumentation建议您传递的参数是append参数。签名如下所示

java - 内存映射文件的性能/稳定性 - Native 或 MappedByteBuffer - vs. plain ol' FileOutputStream

我支持使用平面文件(纯文本)实现持久性的遗留Java应用程序。由于应用程序的性质,这些文件的大小每天可以达到100MB,而应用程序性能的限制因素通常是文件IO。目前,该应用程序使用普通的java.io.FileOutputStream将数据写入磁盘。最近,我们有几位开发人员断言,使用以native代码(C/C++)实现并通过JNI访问的内存映射文件将提供更高的性能。然而,FileOutputStream已经为其核心方法(即write(byte[]))使用了本地方法,因此在没有硬数据或至少没有轶事证据的情况下,它似乎是一个脆弱的假设。我有几个问题:这个说法是真的吗?内存映射文件总是提供比

java - 如何使用 SnakeYaml 写入 YAML 文件?

考虑以下代码:publicstaticvoiddumpObjectToYaml(Stringkey,ObjectO,Stringpath)throwsIOException{Mapdata=newHashMap();data.put(key,O);FileF=newFile(path);F.mkdirs();F.createNewFile();//writedatatoFile}此方法旨在将给定键的给定对象O写入给定路径的YAML文件中。(如果不存在则创建。)但显然主要部分仍然缺失。现在关注thedocumentationofSnakeYaml,要创建YAML,我只需要创建一个映射并将

java - 删除使用 FileOutputStream 创建的文件

我正在为Android平台开发。我的应用通过简单调用创建一个临时文件:FileOutputStreamfos=openFileOutput("MY_TEMP.TXT",Mode);它工作正常,因为我可以正常写入和读取它。问题是当我退出应用程序时我想删除这个文件。我用过:Filef=newFile(System.getProperty("user.dir"),"MY_TEMP.TXT");f.delete()但是总是返回false,文件没有被删除。我试过:Filef=newFile("MY_TEMP.TXT");f.delete();它也不起作用。 最佳答案