gpt4 book ai didi

java - 尝试使用文本区域将标题放入文件夹中的所有文本文件中,请帮助我

转载 作者:太空宇宙 更新时间:2023-11-04 07:34:38 25 4
gpt4 key购买 nike

尝试编写代码将 header 放入文件夹中的所有文本文件中并创建输出文本文件..在不同的文件夹中..我编写了代码..使用textarea将 header 放入其中并使用字符串实际上它的工作原理是当我在 header 中放入两行或更多行时我的意思是在textarea中。所以在输出文件中将标题全部打印在一行中..请帮助我..

    import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.text.Caret;

public class header3 {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub

// File folder = new File("Letters" + File.separator + "LettersIn");
// System.out.println(folder);

// System.out.println(BFFile);

final JFrame frame = new JFrame("Enter Header");
JPanel panel = new JPanel();

final JTextArea text = new JTextArea(20, 40);
JButton button = new JButton("Enter");

frame.add(panel);
panel.add(text);
panel.add(button);

button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

BufferedReader br = null;

BufferedWriter bfAll = null;

File folder = new File("FileIn");

File[] BFFile = folder.listFiles();

// Caret header1 = text.getCaret();

String header1 = (text.getText());
System.out.println(header1);

text.setLineWrap(true);
text.setWrapStyleWord(true);

try {

for (File file : BFFile) {

br = new BufferedReader(new FileReader(file));

String filename = file.getName();
String[] fileInitialName = filename.split("\\.");

System.out.println(folder);

System.out.println(BFFile);

String outFileAllcount = ("FileOut" + File.separator
+ "out" + fileInitialName[0] + ".txt");

bfAll = new BufferedWriter(new FileWriter(
outFileAllcount));

String line;

bfAll.write(header1.toString());
bfAll.newLine();

while ((line = br.readLine()) != null) {

bfAll.write(line.toString());
bfAll.newLine();
}

bfAll.newLine();
bfAll.flush();
bfAll.close();

frame.dispose();

}
} catch (Exception e1) {
System.out.println("Excepton occured !! : "
+ e1.getMessage());
}

}
});

frame.setSize(500, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// String header1 = text.getText();

// String header1 = JOptionPane.showInputDialog("here");

}

}

请帮帮我!!如果我在 textarea 中放置 2 行或更多行作为标题,它可以工作,但将所有行打印在一行中.. 是否有办法将 textarea 中的所有行打印为文本文件中的标题.. 请让我知道.. 谢谢.. 如果我放置 10 行标题,它应该打印 10 行.. 在文件中.. 但它只打印 1 行.. 请帮助我!谢谢!!:)

最佳答案

当您在键盘上按 Enter 时,Java 将添加一个换行字符作为 \n。因此,header1 变量仅包含\n。正如您在示例中看到的,有时这还不够(例如,Windows 还需要回车字符)。

因此,只需在将 header1.toString() 写入文件之前执行此操作,将所有换行字符(由 Java 出于换行目的而放置的字符)替换为系统默认 1:

header1= header1.replaceAll("\n", System.lineSeparator());

关于java - 尝试使用文本区域将标题放入文件夹中的所有文本文件中,请帮助我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17125427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com