Java FileOutputStream字符串写入 [英] Java FileOutputStream String Writing
本文介绍了Java FileOutputStream字符串写入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果有人能帮忙,我会永远感激的,因为这已经把我推上了墙!
$ b
代码如下。
public abstract class Log {
保护静态字符串DefaultLogFileLocation =c:\\LOG.txt;
public static void ToFile(String pInputString){
FileOutputStream pOUTPUT;
PrintStream pPRINT;
尝试
{
pOUTPUT = new FileOutputStream(DefaultLogFileLocation);
pPRINT = new PrintStream(pOUTPUT);
pPRINT.println(pInputString +\\\
);
pPRINT.close();
catch(Exception e)
{
System.err.println(写入文件时出错);
$ div class =h2_lin>解决方案
pre pre $ pOUTPUT = new FileOutputStream(DefaultLogFileLocation ,真);
另外,为什么不使用一些Java记录框架?例如。 java.util.logging 或< a href =http://logging.apache.org/log4j/1.2/index.html =noreferrer> log4j
log4j配置写入文件:
< log4j:configuration xmlns:log4j =http ://jakarta.apache.org/log4j/>
< appender name =consoleclass =org.apache.log4j.ConsoleAppender>
< param name =Targetvalue =System.out/>
< layout class =org.apache.log4j.PatternLayout>
< param name =ConversionPatternvalue =% - 5p%c {1} - %m%n/>
< / layout>
< / appender>
< appender name =FILEclass =org.apache.log4j.DailyRollingFileAppender>
< param name =filevalue =C:\\LOG.TXT/>
< param name =datePatternvalue ='。yyyy -MM/>
< param name =appendvalue =true/>
< layout class =org.apache.log4j.PatternLayout>
< param name =ConversionPatternvalue =%d [%t]%-5p%C {6}(%F:%L) - %m%n/>
< / layout>
< / appender>
< root>
< priority value =debug/>
< appender-ref ref =FILE/>
< appender-ref ref =console/>
< / root>
I’ve been having issues with a Java File. It's designed to write line after line in a test file as a log. Unfortunately it overwrites the same line every time I call it.
If anyone can help I would be eternally grateful as this has been driving me up the wall!
Code Below.
public abstract class Log {
protected static String DefaultLogFileLocation = "c:\\LOG.txt";
public static void ToFile(String pInputString) {
FileOutputStream pOUTPUT;
PrintStream pPRINT;
try
{
pOUTPUT = new FileOutputStream(DefaultLogFileLocation);
pPRINT = new PrintStream(pOUTPUT);
pPRINT.println (pInputString + "\n");
pPRINT.close();
}
catch (Exception e)
{
System.err.println ("Error writing to file");
}
}
}
解决方案
You forgot to pass constructor parameter to specify you need to append data to file.
pOUTPUT = new FileOutputStream(DefaultLogFileLocation, true);
Also, why you don't use some Java Logging Framework? E.g. java.util.logging or log4j
Example of log4j configuration to write to file:
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
</layout>
</appender>
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="C:\\LOG.TXT" />
<param name="datePattern" value="'.'yyyy-MM" />
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n"/>
</layout>
</appender>
<root>
<priority value ="debug" />
<appender-ref ref="FILE" />
<appender-ref ref="console" />
</root>
这篇关于Java FileOutputStream字符串写入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文