Estou tentando ler um arquivo .txt como no exemplo abaixo com 2 colunas separadas por um TAB e tenho que armazenar em 2 vetores (coluna 1 no vetor 1, coluna 2 no vetor 2).
====
1 3
2 4
6 9
já tentei usando split mas não consegui
alguém poderia me ajudar ?
Olá,
Não entendi se seu problema é com a leitura do arquivo ou com a transcrição do conteúdo dele para sua estrutura de vetores. Ler arquivo é uma coisa e separar os dados para armazenar em vetores é bem outra.
Me esclarece isso e não esquece de postar seu código.
se vc incluiu o ==== no arquivo.txt vai atrapalhar o split.
Assim, vc tem que filtrar as linhas que contém as colunas quando for ler o .txt.
Para entender melhor procure sobre expressões regulares em java (regex).
package crisis;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
public class Crisis {
public static void main(String[] args) {
matriciar();
}
private static void matriciar() {
JFileChooser jfc = new JFileChooser();
int contador = 0;
if (jfc.showOpenDialog(jfc) == JFileChooser.APPROVE_OPTION) {
try (BufferedReader ler = Files.newBufferedReader(jfc.getSelectedFile().toPath(), StandardCharsets.UTF_8)) {
String txt;
//usei uma string builder mas podia ser uma string comun myString += txt+";" dentro do while
StringBuilder matriz = new StringBuilder();
while ((txt = ler.readLine()) != null) {
//só pode ser adicionada a linha da matriz,por isso regex onde inicia com digito e não com =======
if (txt.matches("\\d.*")) {//filtrando a linha que vc quer
matriz.append(txt).append(";");
contador++;
}
}
//vetores que armazenarão os valores
String[] col1 = new String[contador];
String[] col2 = new String[contador];
contador = 0; //reaproveitando o contador
for (String linha : matriz.toString().split(";")) {
String[] colunas = linha.split(" ");
col1[contador] = colunas[0];
col2[contador++] = colunas[1];//preferi incrementar o contador no col2[index]
}
for (int i = 0; i < col1.length; i++) {
System.out.println((i != 0 ? "" : " MATRIZ\nlin - col\n") + "|" + col1[i] + "| - |" + col2[i] + "|");
}
} catch (IOException ex) {
Logger.getLogger(Crisis.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
Acabei conseguindo desse jeito valeu pela ajuda 
System.out.println("Entre com o diretorio do arquivo TXT:");
Scanner sc = new Scanner(System.in);
String arquivo = sc.nextLine();
File file = new File(arquivo);//Leitura do arquivo TXT
Scanner scan = null;
ArrayList<Integer> vetor1 = new ArrayList<>();
ArrayList<Integer> vetor2 = new ArrayList<>();
scan = new Scanner(file);
while (scan.hasNextLine()) {//Separação de Linhas e Colunas
String[] campos = scan.nextLine().split("\\s+");
vetor1.add(Integer.parseInt(campos[0]));
vetor2.add(Integer.parseInt(campos[1]));
}