Como realizar uma leitura Scanner e dar um ENTER automático para próxima leitura

Eu estou desenvolvendo um executável que irar receber dados de um (Coletor de dados / Leitor manual) e criar um arquivo texto no disco // d:. Recebendo os dados da seguinte maneira ( Codigo de barras ; Quantidade). Mas para passar do Codigo de barras para a Quantidade preciso ficar pressionando o enter toda vez. Teria algum comando para apenas receber o valor e dar um enter automatico?

Segue o codigo abaixo:

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class Oscom {

public static void main(String[] args) throws IOException {
Scanner ler = new Scanner(System.in);
long i= 1, sair;

sair = 1;
String x, y  = "0";

FileWriter arq = new FileWriter("d:\\Codigo.txt");
PrintWriter gravarArq = new PrintWriter(arq);

while (i != 0) {
	x = JOptionPane.showInputDialog("Código de barra:");
	i = Long.parseLong(x);  
	if (i == 0){
		arq.close();	
	} else {     	
	y = JOptionPane.showInputDialog("Quantidade:");
      
  gravarArq.println("\n"+x+";"+y+ "\n" );
	}
}

arq.close();

JOptionPane.showMessageDialog(null,"\nO arquivo texto Código de barras foi gravado com sucesso em \"d:\\Codigo.txt\".\n");

}

}

Ja tentou usar o KeyEvent? Acho que você pode chama-lo logo depois de efetuar a leitura.

Para ser bem sincero, esta estrutura que eu montei é algo ate avançado para mim, estou no 2ºPeriodo do meu curso, estou estudando isto por fora para ajudar aqui no meu serviço e eu não tenho nenhum conhecimento sobre o KeyEvent, mas vou dar uma pesquisada aqui e ver se consigo. Mesmo assim muito obrigado!