如何将分割的ArrayList显示为2个不同的列?

问题描述 投票:0回答:1

这是太显示文本。

A = jTextArea2.getText();
B = jTextArea3.getText();  

Display = A+"              " + B + "         ";    
PrintWriter pwFile = null;

fc = new JFileChooser();    
int returnVal = fc.showSaveDialog(NewJFrame.this);

if (returnVal == JFileChooser.APPROVE_OPTION) {
    String extension = fc.getSelectedFile().getAbsolutePath() + ".txt";
    File file = new File(extension);

    try {
         pwFile = new PrintWriter(file);
         pwFile.write(Receipt()+Display);
         JOptionPane.showMessageDialog(null, "Save successful", "Reminder", 1);
         pwFile.flush();
    }
    catch (FileNotFoundException e) 

如何将ArrayList分割成2个不同的列来显示?

java arrays arraylist text-files jtextarea
1个回答
1
投票

可以这样做。

List<String> teamA = Arrays.asList(
    "Virgil van Dijk", "Steven Gerrard", "Edilson Cavani", "Lionel Messi");
List<String> teamB = Arrays.asList(
    "Paul Pogba","Neymar Jr","Roberto Firmino","Fernando Torres", "Cristiano Ronaldo");

File teamFile = new File("teams.txt");

try (BufferedWriter writer = new BufferedWriter(new FileWriter(teamFile))) {
    for (int i = 0, n = Math.max(teamA.size(), teamB.size()); i < n; i++) {
        String line = String.format("%-20s\t%-20s",
                        i < teamA.size() ? teamA.get(i) : "",
                        i < teamB.size() ? teamB.get(i) : "");
        writer.write(line.stripTrailing()));
        writer.write("\n");
    }
    writer.flush();
}

文件输出(仅限玩家):

Virgil van Dijk         Paul Pogba
Steven Gerrard          Neymar Jr
Edilson Cavani          Roberto Firmino
Lionel Messi            Fernando Torres
                        Cristiano Ronaldo
© www.soinside.com 2019 - 2024. All rights reserved.