Konwertowanie i odczyt pojedynczych wartosci z pliku .txt

0

Witam, mam problem z przedstawieniem danych z pliku .txt w formie 2-wymiarowej tablicy albo arraylist i odczytu poszczegolnych wartosci z tej tablicy.
Chcialbym dostawac sie do tych wartosci poprzez indeksy typu: tablica[i][j].

0

Z czym dokładnie masz problem? Wczytaj najpierw całą tablice a potem operuj na niej wewnątrz programu.

0

Mam taki kod:

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

public class Uczacy {

public static void main(String[] args) throws FileNotFoundException, IOException {

String line = null;
List<String[]> list = new ArrayList<String[]>();
BufferedReader reader = new BufferedReader(new FileReader("u.txt"));
while ((line = reader.readLine())!=null) { 
    list.add(getArray(line));
}        
reader.close();

for (String[] stringArr : list) {
    for(String str : stringArr){
        System.out.print(str+" ");
    }
    System.out.println("");
   }

}

private static String[] getArray(String s){
String[] array = s.split("\s");
return array;
}

}

I chcialbym dostac sie do konkretnej wartosci, ale nie wiem jak przekonwertowac string na float i przedstawic jako tablice floatow

0

masz wiele możliwości a mianowicie:

  • czytanie linia po linii i "cięcie: danych metodą String.split(" ");
  • użycie obiektu np. Scanner i czytanie wartości liczbowych metodą nextInt() np.

konwertowanie Stringa a float

float i = Float.parseFloat(String);
0

nie

będzie to odczytana pojedyncza liczba z pliku txt.

tu masz przykład czytania liczb i wyświetlanie ich w konsoli

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

/**
 * Created by Rafał on 05.11.2016.
 */
public class Main {

    public static void main(String[] args) {
        File file = new File("plik.txt");
        Scanner in = null;
        try {
            in = new Scanner(file);

            while (in.hasNext()) {
                int i = in.nextInt();
                System.out.println(i);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        in.close();
    }
}

wystarczy dodać albo dodawanie do tablicy (jeśli wiemy jakiej wielkości ma być lub np. ArrayList<Integer>

0

nie odp w komentarzach...

poczytaj o innych metodach klasy Scanner a na pewno coś się znajdzie

0

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Main {
 
    public static void main(String[] args) {
        File file = new File("u.txt");
        Scanner in = null;
        try {
            in = new Scanner(file);
 
            while (in.hasNext()) {
                String i = in.nextLine();
                System.out.println(i);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
 
        in.close();
    }
}

W jaki sposob moge sie odniesc do poszczegolnych elementow. To znaczy jak moge przekonwertowac stringi na floaty jako tablice 2-wymiarowa. Program mi wyswietla dwuwymiarowa tablice stringow. A chcialbym, zeby mi wyswietlal 2-wymiarowa tablice floatow. Bo po wypisaniu dowolnego mam jakas wartosc string typu @12323d

1 użytkowników online, w tym zalogowanych: 0, gości: 1