2016-04-15 4 views
-4

У меня есть .txt-файл, который выглядит как 43 78 63 73 99 .... i.e., все его значения разделены пробелами. Я хочу, чтобы каждый из них был добавлен в массив, такой, что a[0]=43 a[1]='78 a[2]=63 и так далее. Как это сделать в Java. Пожалуйста, объяснитеХранение содержимого файла txt в массиве

+0

Чистые запросы написания кода не относятся к теме при переполнении стека - мы ожидаем, что вопросы здесь относятся к * конкретным * проблемам программирования - но мы с радостью поможем вам сами написать! Сообщите нам [что вы пытались] (http://stackoverflow.com/help/how-to-ask) и где вы застряли. Это также поможет нам лучше ответить на ваш вопрос. –

ответ

0

Прочитайте файл в строке. Затем пролили строку на пробел в массив строк.

0

Используйте FileReader читать в значениях

Э.Г.

Scanner sc = new Scanner(new File("yourFile.txt")); 

Затем вы читаете все целые числа из файла и помещаете их в целочисленный массив.

Java Scanner class documentation

Java File class

0

Ну, я хотел бы сделать это путем сохранения текстового файла в строку. (пока он не слишком большой). Затем я просто использовал .split (""), чтобы сохранить его в массиве.

Как это:

String contents = "12 32 53 23 36 43"; 
//pretend this reads from file 

String[] a = contents.split(" "); 

Теперь массив «а» должны иметь все значения, хранящиеся в нем. Если вы хотите, чтобы массив был int, вы можете использовать массив int и использовать Integer.toString() для преобразования типов данных.

0
import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.ArrayList; 
import java.util.List; 

public class readTextToIntArray { 
public static void main(String... args) throws IOException { 
    BufferedReader reader=new BufferedReader(new FileReader("/Users/GoForce5500/Documents/num.txt")); 
    String content; 
    List<String> contentList=new ArrayList<String>(); 
    while((content=reader.readLine())!=null){ 
     for(String column:content.split(" ")) { 
      contentList.add(column); 
     } 
    } 
    int[] result=new int[contentList.size()]; 
    for(int x=0;x<contentList.size();x++){ 
     result[x]=Integer.parseInt(contentList.get(x)); 
    } 
} 
} 

Вы можете использовать это.

+0

Помогая новичкам, вам обычно лучше объяснять, а не просто компилировать код. – Signal

Смежные вопросы