标签: stringwriter

StringWriter或StringBuilder

是什么区别StringWriterStringBuilder,当我应该使用一个或其他?

.net stringbuilder stringwriter

65
推荐指数
4
解决办法
3万
查看次数

不会关闭一个字符串写入器导致泄漏?

我意识到在java中GC最终会清理对象,但是我问是不是关闭你的字符串编写器是不好的做法,目前我这样做:

 private static String processTemplate(final Template template, final Map root) {
        StringWriter writer = new StringWriter();
        try {
            template.process(root, writer);
        } catch (TemplateException e) {
            logger.error(e.getMessage());
        } catch (IOException e) {
            logger.error(e.getMessage());
        }
        finally {

        }

        return writer.toString();
    }
Run Code Online (Sandbox Code Playgroud)

我应该关闭编写器并创建一个像这样的新String:

String result = "";

...

finally {
  result = writer.toString();
  writer.close();
}
Run Code Online (Sandbox Code Playgroud)

这样做更好吗?

java memory-management freemarker stringwriter

33
推荐指数
2
解决办法
1万
查看次数

清除XmlTextWriter和StringWriter中的所有内容

我想清除XmlTextWriter和StringWriter中的所有内容.Flush()没有成功.

XmlDocument doc = new XmlDocument(); StringWriter sw = new StringWriter(); XmlTextWriter xw = new XmlTextWriter(sw);

xw.WriteStartElement("AddPhoneQual"); xw.WriteElementString("Type", "B"); xw.WriteElementString("PhoneNumber", bookingDetails.PassengerList[0].PhoneNumber); xw.WriteEndElement(); //结束AddPhoneQual

doc.LoadXml(sw.ToString());

现在,我需要清除所有内容并开始用清晰的xw编写.

xw.Flush(); sw.Flush();

他们没有工作.

c# xmltextwriter stringwriter

10
推荐指数
1
解决办法
4499
查看次数

从StringWriter写入txt文件

我有一个StringWriter变量,sw它由FreeMarker模板填充.填好后sw,如何将其打印到文本文件中?

我有一个for循环如下:

for(2 times)
{
    template.process(data, sw);
    out.println(sw.toString());
}
Run Code Online (Sandbox Code Playgroud)

现在,我只是输出到屏幕.我如何为文件执行此操作?我想,对于每个循环,我的意思sw都会改变,但我希望每个循环的数据都附加在文件中.

编辑: 我尝试了下面的代码.当它运行时,它确实显示file.txt已经更改,但是当它重新加载时,文件仍然没有任何内容.

sw.append("CheckText");
PrintWriter out = new PrintWriter("file.txt");
out.println(sw.toString());
Run Code Online (Sandbox Code Playgroud)

java file-io stringwriter

8
推荐指数
1
解决办法
3万
查看次数

我什么时候应该使用Java的StringWriter?

什么是Java StringWriter,什么时候应该使用它?

我已阅读文档并查看此处,但我不明白何时应该使用它.

java string stringwriter

8
推荐指数
2
解决办法
9529
查看次数

File.Create()之后"另一个进程正在使用文件"

我有一个应用程序,如果该文件尚不存在,则会创建一个文本文件,然后向其写入内容.当我创建并立即写入文件时,它第一次工作得很好.我的问题是,下次执行此代码并且文件已经创建时,它会在我尝试写入文件时抛出异常.我得到"文件被另一个进程使用"错误.

所以我创建它之后似乎需要关闭文件?我不知道怎么做,但它可能非常简单.我会发布一些代码,但它不是必需的,我只是使用一个香草味的字符串构建器和流编写器.

    Private Sub createFileLocations()
        If Not Directory.Exists("./Path") Then
            Directory.CreateDirectory("./Path")
        End If
        If clsGeneralSettings.Printer1 IsNot Nothing Then
            If Not File.Exists("./Path/File1" & ".txt") Then
                File.Create("./Path/File1" & ".txt")
            End If
        End If
    End Sub


Private Sub AppendTextFile(randomId As String, PrintDate As Date, PrintName As String)
    Try
        Dim _stringBuilder As StringBuilder = New StringBuilder
        Dim _StreamWriter As StreamWriter
        Dim fileName As String
        If PrintName = clsGeneralSettings.Printer1 Then
            fileName = "./Path/File1" & ".txt"
            qPrinter1.Enqueue(randomId)
            If qPrinter1.Count > 10 Then
                qPrinter1.Dequeue()
            End If
             _stringBuilder.AppendLine(PrintDate + …
Run Code Online (Sandbox Code Playgroud)

.net vb.net io stringwriter

7
推荐指数
1
解决办法
2万
查看次数

在Web浏览器中返回HtmlElement的所有属性

我需要从我的webbrowser中获取所有属性.当前,我正在使用GetAttribute(),但这样,我需要知道属性的名称.想象一下,我不知道我的webbrowser中有什么.我的C#代码:

        StringWriter strWriter = new StringWriter();            
        XmlWriter xWriter = XmlWriter.Create(strWriter, new XmlWriterSettings() { Indent = true });
        xWriter.WriteStartElement("Items");
        foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("TEXTAREA"))
        {
            xWriter.WriteStartElement("Item");
            xWriter.WriteElementString("GUID", el.Id);
            xWriter.WriteElementString("Type", el.GetAttribute("type").ToUpper());
            xWriter.WriteElementString("Name", el.Name);
            xWriter.WriteElementString("Value", el.GetAttribute("value"));
            xWriter.WriteElementString("MaxLength", el.GetAttribute("maxlength"));
            xWriter.WriteEndElement();
        }
Run Code Online (Sandbox Code Playgroud)

我搜索了很多,但我没有找到任何有用的东西.

html c# xml xmlwriter stringwriter

6
推荐指数
1
解决办法
2867
查看次数

将部分视图渲染为字符串MVC4

我使用以下内容呈现字符串的局部视图...

        protected string RenderPartialViewToString(string viewName, object model)
    {
        if (string.IsNullOrEmpty(viewName))
            viewName = ControllerContext.RouteData.GetRequiredString("action");

        ViewData.Model = model;

        using (var sw = new StringWriter())
        {
            ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
            var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
            viewResult.View.Render(viewContext, sw);

            return sw.GetStringBuilder().ToString();
        }
    }
Run Code Online (Sandbox Code Playgroud)

然而它返回带有如下所示的奇怪标签的html ...(我已经包含了一个小部分作为它的大视图)

<$A$><div</$A$><$B$> class="modal hide fade"</$B$><$C$> id="dialog"</$C$><$D$> 
Run Code Online (Sandbox Code Playgroud)

整个HTML都会发生这种情况.这部分看起来应该是......

<div class="modal hide fade" id="dialog" style="display: none;">
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc viewengine stringwriter asp.net-mvc-partialview asp.net-mvc-4

6
推荐指数
2
解决办法
1万
查看次数

C# 逐行读取文本文件并编辑特定行

我想逐行读取文本文件并编辑特定行。因此,我将文本文件放入字符串变量中,例如:

string textFile = File.ReadAllText(filename);

我的文本文件如下:

Line A
Line B
Line C
Line abc
Line 1
Line 2
Line 3
Run Code Online (Sandbox Code Playgroud)

我有一个特定的字符串(=“abc”),我想在此文本文件中搜索它。因此,我正在阅读这些行,直到找到字符串并在找到字符串之后转到第三行(“第 3 行”-> 该行始终不同):

string line = "";
string stringToSearch = "abc";

using (StringReader reader = new StringReader(textFile))
{
    while ((line = reader.ReadLine()) != null)
    {
        if (line.Contains(stringToSearch))
        {
            line = reader.ReadLine();
            line = reader.ReadLine();
            line = reader.ReadLine();

            //line should be cleared and put another string to this line.
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想清除第三个读取行并将另一个字符串放入该行并将整个保存stringtextFile.

我怎样才能做到这一点?

c# string stringwriter stringreader

6
推荐指数
1
解决办法
3万
查看次数

如何在没有代码分析警告的情况下一起使用StringWriter和HtmlWriter

我正在使用.net并且需要获取一些html文本,所以我想我会一起使用HtmlTextWriter和StringWriter来获得格式正确的html.但是,尽管编写代码的方式各不相同,我仍然会收到静态代码分析器的警告(使用Microsoft All Rules).在下面的代码示例中,我在注释中显示代码分析器警告.为了简化代码,我实际上并没有对HtmlTextWriter进行任何调用(您将在每个函数中看到对该效果的注释).如何正确编写代码以避免警告?

// CA2000 : Microsoft.Reliability : In method 'Default.Func1()', object 'stringWriter' is not disposed along all exception paths. Call System.IDisposable.Dispose on object 'stringWriter' before all references to it are out of scope.
public static string Func1()
{
    string html;
    StringWriter stringWriter;
    using (var writer = new HtmlTextWriter(stringWriter = new StringWriter()))
    {
        // You would do some stuff with the writer here, but not for this example.

        html = stringWriter.ToString();
    }
    return html;
}

// CA2202 : Microsoft.Usage : …
Run Code Online (Sandbox Code Playgroud)

.net htmltextwriter stringwriter ca2000 ca2202

5
推荐指数
1
解决办法
3702
查看次数