我想知道如何在txt文件的每一行中插入一个字符?
例如我有一个txt文件,并且有这样的行:
text
text
text
我会将这些行与:
相同$text
$text
$text
我尝试定义python或java
的解决方案提前致谢
package org.kodejava.example.io;
import java.io。*;
public class Root {
public static void main(String[] args) {
File file = new File("C:\\text.txt");
StringBuilder contents = new StringBuilder();
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String text = null;
// repeat until all lines is read
while ((text = reader.readLine()) != null) {
contents.append(text)
.append(System.getProperty(
"line.separator"));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
// show file contents here
System.out.println(contents.toString());
}
}
我找到了一个如何读取文件的示例,我应该使用哪种方法来插入特定的符号?
答案 0 :(得分:1)
如果您使用BufferedReader
逐行读取文件(它提供方法readLine()
),则可以使用PrintWriter
将输出写入另一个文件,然后首先编写使用print()
的$
字符,然后使用println()
从BufferedReader
读取的行。
请注意,在Java中使用+运算符连接字符串非常慢。
这样的事情应该有效(比你找到的样本稍微简单):
try (BufferedReader input = new BufferedReader(new FileReader(new File("inputfile.txt")));
PrintWriter output = new PrintWriter(new File("outputfile.txt")))
{
String line;
while (input.ready() && ((line = input.readLine()) != null))
{
output.print("$");
output.println(line);
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
上面的示例使用try
块中的新Java 7 autoclose feature在流程完成后关闭流。
答案 1 :(得分:1)
FileWriter fstream = new FileWriter("fileName");
BufferedWriter fbw = new BufferedWriter(fstream);
while ((text = reader.readLine()) != null) {
fbw.write("$" + text+ "\n");
}
如上所述,在循环时改变你。试试这个。