streamwriter 相关问题

StreamWriter设计用于特定编码中的字符输出,而从Stream派生的类设计用于字节输入和输出。

使用 C# 删除 CSV 文件中的字符串值

我删除了上一篇文章,希望这篇文章更好、更清晰,以便能够获得帮助。我很感激。 到目前为止,我正在使用我的代码上传一个 CSV 文件,将其格式化为:我已跳过标题并且...

回答 1 投票 0

需要在FILE.READLINES之后关闭

我需要读取文件的所有内容,但只保留部分内容并附加新内容。所以我尝试使用 READLINES 过滤我需要保留的行,然后用保留的行重写文件......

回答 1 投票 0

使用 Stax2 转义 Scala 中的特殊字符

我正在尝试使用 Stax2 来编写带有转义特殊字符的属性的 xml 文件。 当我试图实现这样的精确输出时: 我正在尝试使用 Stax2 来编写带有转义特殊字符的属性的 xml 文件。 当我试图实现这样的精确输出时: <elem1 att1="This &#x0A; That" /> 但是当我使用通常的XMLStreamWriter时,输出是这样的: <elem1 att1="This &amp;#x0A; That" /> 所以我用 Stax2 尝试了以下操作: import org.codehaus.stax2.{XMLOutputFactory2} import org.scalatest.funsuite.AnyFunSuite import java.io.{File, FileOutputStream} import javax.xml.stream.{XMLOutputFactory, XMLStreamWriter} class testStreamXML extends AnyFunSuite{ val file = new File("stax2test.xml") val fileOutputStream = new FileOutputStream(file) val outputFactory: XMLOutputFactory2 = XMLOutputFactory.newInstance().asInstanceOf[XMLOutputFactory2] //outputFactory.setProperty(XMLOutputFactory2.P_ATTR_VALUE_ESCAPER, true) val writer= outputFactory.createXMLStreamWriter(fileOutputStream) writer.writeStartDocument() writer.writeStartElement("elem1") writer.writeAttribute("att1", "This &#x0A; That") writer.writeEndElement() writer.writeEndDocument() } 每当我尝试将属性 P_ATTR_VALUE_ESCAPER 设置为 true 或 false 时,我都会收到此错误: An exception or error caused a run to abort: class java.lang.Boolean cannot be cast to class org.codehaus.stax2.io.EscapingWriterFactory (java.lang.Boolean is in module java.base of loader 'bootstrap'; org.codehaus.stax2.io.EscapingWriterFactory is in unnamed module of loader 'app') java.lang.ClassCastException: class java.lang.Boolean cannot be cast to class org.codehaus.stax2.io.EscapingWriterFactory (java.lang.Boolean is in module java.base of loader 'bootstrap'; org.codehaus.stax2.io.EscapingWriterFactory is in unnamed module of loader 'app') at com.ctc.wstx.api.WriterConfig.setProperty(WriterConfig.java:401) at com.ctc.wstx.api.CommonConfig.setProperty(CommonConfig.java:100) at com.ctc.wstx.stax.WstxOutputFactory.setProperty(WstxOutputFactory.java:153) at testStreamXML3.<init>(testStreamXML3.scala:10) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350) at java.base/java.lang.Class.newInstance(Class.java:645) at org.scalatest.tools.Runner$.genSuiteConfig(Runner.scala:1402) at org.scalatest.tools.Runner$.$anonfun$doRunRunRunDaDoRunRun$8(Runner.scala:1199) at scala.collection.immutable.List.map(List.scala:246) at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1198) at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24(Runner.scala:993) at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24$adapted(Runner.scala:971) at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1480) at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:971) at org.scalatest.tools.Runner$.run(Runner.scala:798) at org.scalatest.tools.Runner.run(Runner.scala) at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2or3(ScalaTestRunner.java:38) at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:25) 有什么建议如何解决这个问题吗?或者达到我转义属性中特殊字符的目的? 您所指的属性确实需要一个 EscapingWriterFactory 类。这是文档: 如果需要对属性值内容进行自定义输出转义,可以设置的属性。值集必须是类型 逃离WriterFactory。设置后,工厂将用于创建 每个写入器实例用于转义所有写入的属性值,两者 通过显式 XMLStreamWriter.writeAttribute(java.lang.String, java.lang.String) 方法,以及通过复制方法 (XMLStreamWriter2.copyEventFromReader(org.codehaus.stax2.XMLStreamReader2, 布尔值))。 [1] 关于如何实现“个人”逃避该工厂的实施的问题就可以完成这项工作。这是一个使用给定编写器的简单实现(受 [2] 启发),无需应用任何转义 - 这可能是您想要解决的任何特殊用例的起点: class CustomXmlEscapingWriterFactory extends EscapingWriterFactory{ override def createEscapingWriterFor(writer: Writer, s: String): Writer = new Writer(){ override def write(cbuf: Array[Char], off: Int, len: Int): Unit = writer.write(cbuf, off, len) override def flush(): Unit = writer.flush() override def close(): Unit = writer.close() } override def createEscapingWriterFor(outputStream: OutputStream, s: String): Writer = throw IllegalArgumentException("not supported") } class TestStreamXML extends AnyFunSuite{ val file = new File("stax2test.xml") val fileOutputStream = new FileOutputStream(file) val oprovider: OutputFactoryProviderImpl = new OutputFactoryProviderImpl() val outputFactory: XMLOutputFactory2 = oprovider.createOutputFactory() // your factory implementation goes here as property outputFactory.setProperty(XMLOutputFactory2.P_ATTR_VALUE_ESCAPER, CustomXmlEscapingWriterFactory()) val writer= outputFactory.createXMLStreamWriter(fileOutputStream) writer.writeStartDocument() writer.writeStartElement("elem1") writer.writeAttribute("att1", "This &#x0A; That") writer.writeEndElement() writer.writeEndDocument() } 结果输出如下所示: <?xml version='1.0' encoding='UTF-8'?><elem1 att1="This &#x0A; That"/> [1] https://fasterxml.github.io/stax2-api/javadoc/4.0.0/org/codehaus/stax2/XMLOutputFactory2.html#P_ATTR_VALUE_ESCAPER [2] 使用 jackson-dataformat-xml 转义引号

回答 1 投票 0

ASP.NET - HttpResponse.WriteAsync() 与 HttpResponse.Body.WriteAsync() 与 HttpResponse.BodyWriter.WriteAsync()

在 ASP.NET 中,有三个选项(据我所知)可以直接写入响应缓冲区。 给出以下数据: var str = "你好世界"; var bytes = Encoding.UTF8.GetBytes(str); ...

回答 1 投票 0

StreamWriter 以 Lf 而不是 CrLf 结束行

我正在使用 StreamWriter 输出文本文件,但我想以 Lf 而不是默认的 CrLf 结束 WriteLine。有没有一种简单的方法可以使用 StreamWriter 内置的参数来做到这一点?

回答 2 投票 0

StreamWriter 未创建文件?

我编写了一个输出文本文件的类。它运作得很好,并且完成了工作。但是我做了相同的过程,但它不起作用(未创建文件)。我感觉我错过了什么...

回答 2 投票 0

如何在项目文件夹之外读写txt文件(Unity)

我尝试使用 File、StreamWriter 和 StreamReader 以及项目文件夹之外的路径,但它不起作用。它变成了projectPath xternalPath。例如我的项目路径是 F:\Project\ 而我的...

回答 3 投票 0

如何下载使用 StreamWriter 编写的 xml 文件作为 xml 文件

我有一个使用 StreamWriter 用 C# 编写的 XML 文件,代码如下: 字符串文件名 = Session.SessionID + ".xml"; 字符串文件路径 = "h:\root\home\mchinni-001\www\site1\OUTFolde...

回答 1 投票 0

C# 将日志导出到2个txt文件

所以我有一个由我的 xaml 文件(视图)制成的按钮,称为“导出”。 当用户单击它时,应用程序运行期间创建的日志将导出到 Logs.txt。 如果出现警告、错误或

回答 1 投票 0

FileStream 的 FileMode.OpenOrCreate 覆盖文件

文档说 FileMode.OpenOrCreate“指定操作系统应打开一个文件(如果存在);否则,应创建一个新文件”,这听起来像是会打开...

回答 2 投票 0

在vb.net中将一个csv文件分割成多个csv文件

我试图根据第一列中的内容将 1 个 csv 分成多个 csv 文件。 例子: 主文件.csv 101,雅各布斯,123456 111,乔伊,78910 101,比利,654321 111,罗伯特,45612 如果...

回答 1 投票 0

使用 StreamWriter 写入 csv 输出时如何忽略单元格值中的逗号

我正在处理一个.txt文件,需要每10行重复一次。然后我想将其转换为 .csv 文件。但是,某些 .txt 文件包含我想保留在单个 ce 中的逗号...

回答 1 投票 0

Streamwriter 和文本文件/csv 文件的特殊字符

需要助手:) 尝试创建 csv/txt 文件 我需要一些文本在文本之前和之后有 " 我该怎么办,我已经尝试了几件事但没有运气 这是我的代码 ...

回答 1 投票 0

C# StreamReader 在分割大型分隔文本文件时在最后一行抛出 OutOfMemoryException

我正在用 C# 编写一个函数,将大的分隔文件拆分为较小的分隔文件。我编写这个函数是因为一个 2.7 GB 的文件需要几个小时才能进行 ETL,并导致......

回答 1 投票 0

使用 Steamwriter 写入文件卡在 foreach 循环中

我正在尝试创建一个小程序,它将一个 html 文件作为输入,并将所有链接写入一个新的输出文件。我的问题是输出文件为空。调试时,看起来我得到了

回答 1 投票 0

在 C# 中创建将数据保存在 .txt 或 .csv 文件中以供操作/使用的控制台应用程序的问题

编辑:我解决了将数据添加到 .txt 文件的问题,但现在当我运行控制台程序并添加新员工时,它会像计划的那样为每个员工提供随机 ID #,但显示的是什么。 .

回答 0 投票 0

从 txt 文件中删除某些字符 [关闭]

你好,我有一个 txt 文件,我想从中删除这些字符 'http:/www.w3.org/2001/XMLSchema-instance' 我试过使用流阅读器和编写器,但没有用。我也试过我们...

回答 0 投票 0

如何编辑文本文件中的特定行?

我知道,我可以使用 ReadAllLines 方法并使用它的索引编辑行。但是这种方式不适合大文件。例如,我有 800,000 行的文件,我需要找到一行,其中包含...

回答 0 投票 0

vb.net:使用文件流创建函数以读取和写入 csv 文件

我是新手,我正在处理处理 csv/textfile 的小型数据库,我正在使用(filestream/streamreader/streanwriter)来处理 我的问题我需要创建具有函数的类并且我正在使用

回答 0 投票 0

创建一个 tempDir 并使用 external_drive_lib 将其保存到 IFile

目前我正在从 IDrive 获取一个包含文件的文件夹,我正在将此文件复制到我正在使用 Streamreader 读取的临时文件中,但是有没有办法创建此 IFIle 或我...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.