Tag: file io

如何获取文件目录的绝对路径?

如何获取包含指定文件的目录的绝对路径: // current dir is “/home/me/dev” File file = new File(“./target/test.txt”); assert absolute(file).equals(“/home/me/dev/target”); 这是Java 6。

Java File方法“canWrite()”可以支持锁定吗?

我有一个Java应用程序,它监视传入XML文件的文件夹。 检测到新文件时,我需要测试当前未更新并关闭的文件。 我的想法是使用File.canWrite()来测试它。 这样做有什么问题吗? 这是测试文件已完全写入的好方法吗? 我投掷的其他想法是: 解析传入的XML文件并测试结束标记是否存在。 检查EoF角色。 我只是不确定这些方法中的任何一种都能处理所有场景。

从java中的xml解码大型base64:OutOfMemory

我需要将xml文件的base64编码元素写入单独的文件中。 问题:文件很容易达到100 MB的大小。 我尝试的每个解决方案都以“java.lang.OutOfMemoryError:Java堆空间”结束。 问题不是一般读取xml或解码过程,而是读取base64块的大小。 我使用jdom,dom4j和XMLStreamReader来访问xml文件。 但是,只要我想访问相应元素的base64内容,我就会得到上述错误。 我也尝试使用saxon的base64Binary-to-octets函数的xslt,但当然也有相同的结果。 有没有办法将这个base64编码的部分流式传输到一个文件而不需要将整个块放在一个单件中? 谢谢你的提示, 安德烈亚斯

更新Spring注入的属性文件以包含上次运行时间戳

我有一个应用程序,它使用Spring加载的属性文件。 然后将Properties实例注入几个类。 问题是这些属性中的一些已更新 – 例如我们有一个lastRun时间戳,我们想要存储在这里。 也许有更好的方法来存储这样的东西(建议欢迎),但我怎样才能更新属性文件? props.store(…)方法需要写入或输出流(我假设所有这些都是未知的,因为Spring处理此加载)。 有没有更好的方法或者我应该从Spring context.xml传递文件路径并将其发送到各种bean并以旧式方式加载/存储属性文件?

如何将SourceDataLine的内容写入文件?

我正在修改播放音频数据的应用程序,以便将数据写入文件。 当前实现时,动态填充字节数组,每次填充时,此缓冲区的内容都写入SourceDataLine。 我基本上想要将缓冲区写入指定格式的文件中。 我已经阅读了这个官方教程,并且发现这段代码已被剪切,用于将音频数据写入文件: File fileOut = new File(someNewPathName); AudioFileFormat.Type fileType = fileFormat.getType(); if (AudioSystem.isFileTypeSupported(fileType, audioInputStream)) { AudioSystem.write(audioInputStream, fileType, fileOut); } 我从API文档中看到我可以使用TargetDataLine构造一个AudioInputStream,但在我的例子中我有一个SourceDataLine。 我不知道如何将我的字节数组中的数据导入TargetDataLine,因为它实现了read()方法而不是write()。 AudioInputStream的其他用途以及其他文档将其视为从文件中读取的一种方式,因此我对它与AudioSystem.write()的使用感到有些困惑。 那么,如何将数据从SourceDataLine或直接从缓冲区获取到TargetDataLine或AudioInputStream中,以便将其写入文件?

Java – Char读取文本文件Char的最快方法

我有近500个文本文件,1000万字。 我必须索引这些词。 从字符逐个字符读取文本文件的最快方法是什么? 这是我最初的尝试: InputStream ist = new FileInputStream(this.path+”/”+doc); BufferedReader in = new BufferedReader(new InputStreamReader(ist)); String line; while((line = in.readLine()) != null){ line = line.toUpperCase(Locale.ENGLISH); String word = “”; for (int j = 0; j <= line.length(); j++) { char c= line.charAt(j); // OPERATIONS }

用Java复制文件的最快方法

什么是用Java复制大量文件的最快方法。 到目前为止,我已经使用了文件流和nio。 整体流似乎比nio快。 到目前为止你有什么经历?

listFiles()的文件无法处理符号链接?

我有以下File对象通过符号链接指向目录, File directory = new File(“/path/symlink/foo/bar”); String[] files = directory.listFiles(); listFiles()返回null,这是因为符号链接? 如果是的话,如果我真的想使用包含符号链接的路径列出bar中的文件,我将如何进行此操作?

Java中用于在某个位置创建文件的方法,必要时创建目录?

我正在尝试使用java.io编写一个文件,我试图在”some/path/to/somewhere/then-my-file”位置创建它。 在创建文件时,路径上的任何目录可能存在也可能不存在。 因为没有这样的目录而不是抛出IOException,我希望在需要时透明地创建目录。 是否有一种方法可以在编写文件的过程中创建所需的任何目录? 我在Java SDK中寻找一些东西, 或者在我可以添加到类路径的轻量级库中,例如Apache Commons IO。 PS为了清楚起见,我已经编写了一个解决方案,它适用于我正在测试它的相当狭窄的方式,所以我真的不需要有关如何编写我正在寻找的方法的建议。 我正在寻找一种经过相当好的测试和跨平台的方法。

在java中获取目录名称

如何在Java中的驱动器上获取特定java.io.File的目录名? 例如,我在D驱动器上的目录下有一个名为test.java的文件。 我想返回此文件的目录名称。