草庐IT

File类和IO流

全部标签

使用 Avro 工具将 JSON 转换为 Avro 后,java.io.IOException 不是数据文件

我有一个JSON文件和一个avro模式文件,它们正确地描述了它的结构。然后,我使用Avro工具将JSON文件转换为avro文件,没有出现错误,如下所示:java-jar.\avro-tools-1.7.7.jarfromjson--schema-file.\data.avsc.\data.json>.\data.avro然后我将生成的Avro文件转换回JSON以验证我是否获得了一个有效的Avro文件,如下所示:java-jar.\avro-tools-1.7.7.jartojson.\data.avro>.\data.json这会引发错误:Exceptioninthread"main"

java - Java读写XML数据文件报错"Premature end of file"

我一直在使用JDOM库通过JavaServlet读写XML文件。问题是,当我使用AJAX向读取和写入XML文件中的数据的servlet发送许多请求时,很多时候它无法显示错误:文件过早结束。我怎样才能将所有这些读/写同步到文件或者有没有其他方法可以防止这些问题?如果需要更多详细信息,请告诉我。在这种情况下使用线程会有什么好处吗?非常感谢! 最佳答案 两种可能的解决方案是:将您的文件写入thename.xml.part,然后在完成/关闭后重命名为thename.xml,这使得写入更接近于原子性——只要确定完成,读者就无法读取它它仅查找“

java - 所有 Java 标准类和方法的简单列表?

我正在构建一个非常简单的Java解析器,以寻找一些特定的使用模型。这绝不是用于运行代码的lex/yacc或任何其他形式的解释器/编译器。当我遇到一个单词或一组由点分隔的两个单词(“word.word”)时,我想知道这是否是标准的Java类(和方法),例如“整数”,或一些用户定义的名称。我对代码中是否包含/导入了正确的类不感兴趣(即代码是否编译良好),并且用户定义的类覆盖标准Java类名称的极端情况我也不感兴趣。换句话说:我可以接受假阴性,我只对“大部分”正确感兴趣。是否可以在某个地方找到所有Java标准类和方法的所有名称的简单列表,并且可以轻松保存到文本文件或数据库中?(J2SE还可以

java - IO异常 : Network adapter could not establish the connection

这个问题在这里已经有了答案:TheNetworkAdaptercouldnotestablishtheconnectionwhenconnectingwithOracleDB(4个答案)关闭6年前。我们开始在生产环境中时不时出现“网络适配器无法建立连接”的问题,我做了很多谷歌并在这里解决了一些问题,但仍然没有得到解决方案。这里有一些关于我们环境的信息:我们将RAC与2个oracle实例(版本10.2.0.4)结合使用。我们有几个应用服务器(JBossAS5)在RAC上运行。oracle-ds.xml中的连接url是“jdbc:oracle:thin:@(DESCRIPTION=(ADD

java - File.length() 在 Java 中返回不正确的值

在文件对象上调用.length()时,超过2GB的文件返回不正确的值。这是在tomcat容器中运行的Web应用程序中发生的。例如,Windows报告为2,083,344,714字节的文件从Java返回为1887961088。以下是环境细节:jdk1.6.0_24(64位)JavaJotSpot(TM)64位服务器虚拟机(内部版本17.0-b17,混合模式)Tomcat6.0.29window服务器2008r2所以我立即怀疑与32位虚拟机有关,但一切似乎都在64位中运行。我完全被难住了,任何帮助将不胜感激,如果只是帮助开发一些测试以查看问题是否与以某种方式在32模式下运行的东西有关..编

java.io.IOException : Cannot run program "...": java. io.IOException : error=2, 没有那个文件或目录

我需要从Java执行一个外部程序(使用libreoffice将fodt文件转换为pdf,就这样发生了)我知道该程序所需的精确命令行:/usr/bin/libreoffice--headless--convert-topdf:'writer_pdf_Export'--outdir/home/develop/tomcat/mf/ROOT/private/docs/0//home/develop/tomcat/mf/ROOT/private/docs/0/35_invoice.fodt这在命令行中完美运行。但它在使用ProcessBuilder的Java中不起作用:java.io.IOExc

java - File.delete() 是否删除 File 对象的指针?

我和我的同事正在争论File.delete()方法在Java中的工作原理。在我们的代码中:FileoutFile=newFile("/dir/name.ext");if(outFile.exists())outFile.delete();FileInputStreaminStream=newFileInputStream(outFile);WriteFile.writeFile(inStream);//Writestheactualfile出于安全原因,我不能在此处包含writeFile的整个方法体,但在创建所需的数据库对象后,它会执行以下操作:BufferedOutputStream

java - 从关闭文件方法抛出 IOException 时如何管理事务(包括文件 IO)

我最近开始使用Spring的数据源事务管理器。我现在有问题。我的事务包括对数据库表的更新和对文件的写操作。它工作正常,但我对文件I/O有一些疑问。正如您在下面看到的,我已经将我的bean的openFile和closeFile方法分别配置为init方法和destroy方法,这反过来又提供了这些方法,就像构造函数和析构函数一样被调用。如果文件没有正确关闭,一些记录可能没有成功写入output.txt文件,这意味着我也无法正确处理事务管理。但是,我想回滚那些尚未附加到平面文件的数据库更新。使用我的解决方案,似乎不可能将fileClose方法添加到事务中。有谁知道如何正确执行此所需操作?如有任

使用 findbugs 的 java 编译错误。 com.sun.tools.javac.code.Symbol$CompletionFailure : class file for javax. annotation.meta.When not found

我正在尝试使用findbugs1.3.2的注释。我在一个简单的测试中使用了edu.umd.cs.findbugs.annotations.NonNull注释,它工作正常。但是,现在我有一个大项目,由子模块组成,使用maven,我通过在某个java文件中导入该注释得到以下编译错误:com.sun.tools.javac.code.Symbol$CompletionFailure:classfileforjavax.annotation.meta.Whennotfound可能是什么问题?我尝试在所有子模块中添加findbugs依赖项。也许它与jsr305冲突?我看到我们的依赖项之一使用js

Java jackson : Parsing a csv file into an object containing a List of objects

我正在尝试使用JacksonCsvParser将一个csv文件解析为一个对象,该对象还包含另一个类的列表。因此前两列包含需要绑定(bind)到父类的数据,之后的数据需要绑定(bind)到另一个类。publicclassPerson{privateStringname;privateStringage;privateListcarDetails;//Getters+setters}publicclassCarDetails{privateStringcarMake;privateStringcarRegistration;//Getters+setters}要解析的日志如下所示:John