[java]Zapisywanie tablicy do pliku tekstowego

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
bulva
Sędziwy Jeż
Sędziwy Jeż
Posty: 60
Rejestracja: 28 wrz 2009, 12:40
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

[java]Zapisywanie tablicy do pliku tekstowego

Post autor: bulva »

Witam,

chciałbym napisać program który będzie zapisywał dwuwymiarowa tablicę do pliku tekstowego z wartościami oddzielonymi np spacją, mój kod jak do tej pory:

Kod: Zaznacz cały

import java.io.*;

public class TwoDimTab
{
		public static void main(String[] args) throws Exception
		{
	int n = 5;		
	int k = 6;
		int tab[][] = new int[n][k];
	//row,column
	tab[0][0] = 1; 
	tab[1][1] = 2;
	tab[2][2] = 3;
	tab[3][3] = 4;
	tab[4][4] = 5;
	
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
	
		for (int row =0;row<n;row++){
	for (int col=0;col<k;col++){
String lineFromInput = in.readLine(tab[row][col] +" ");	
PrintWriter out = new PrintWriter(new FileWriter("output.data"));
out.println(lineFromInput);
		}
		System.out.print("\n");		
	}
out.close();

}
}
Awatar użytkownika
kabanek
Zakręcona Traszka
Zakręcona Traszka
Posty: 592
Rejestracja: 23 cze 2009, 20:34
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Środowisko graficzne: Xfce
Architektura: x86_64
Kontakt:

Odp: [java]Zapisywanie tablicy do pliku tekstowego

Post autor: kabanek »

iiii?

program działa/nie działa? Jak nie działa to co jest nie tak?
bulva
Sędziwy Jeż
Sędziwy Jeż
Posty: 60
Rejestracja: 28 wrz 2009, 12:40
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [java]Zapisywanie tablicy do pliku tekstowego

Post autor: bulva »

Jak myślisz? Pisałbym tutaj gdyby działał? Albo gdybym wiedział gdzie leży problem to nie poprawiłbym go?
Awatar użytkownika
kabanek
Zakręcona Traszka
Zakręcona Traszka
Posty: 592
Rejestracja: 23 cze 2009, 20:34
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Środowisko graficzne: Xfce
Architektura: x86_64
Kontakt:

Odp: [java]Zapisywanie tablicy do pliku tekstowego

Post autor: kabanek »

nie o to chodzi... chodzi o to, żebyś napisał co nie działa...
przeczytałem kod, ale chodzi o to, żebyś napisał co konkretnie nie chodzi.
bulva
Sędziwy Jeż
Sędziwy Jeż
Posty: 60
Rejestracja: 28 wrz 2009, 12:40
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [java]Zapisywanie tablicy do pliku tekstowego

Post autor: bulva »

W zasadzie to już to rozwiązałem o tak:

Kod: Zaznacz cały

        PrintWriter pri = new PrintWriter("output.data");
        for (int row =0;row<n;row++){
            for (int col=0;col<k;col++){
                pri.print(ranks[row][col] +" ");
            }
            pri.print("\n");
        }
        pri.close();
Tylko że kiedy próbuję napisać to jako metodę:

Kod: Zaznacz cały

public static void saveArray(int[][] array, String filename) {
        PrintWriter pri = new PrintWriter(filename);
        for (int row =0;row<array.length;row++){
            for (int col=0;col<array[row].length;col++){
                pri.print(array[row][col] +" ");
            }
            pri.print("\n");
        }
        pri.close();
}
Kompilator zgłasza:

Kod: Zaznacz cały

ProjectEnsemble2.java:51: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
Awatar użytkownika
kabanek
Zakręcona Traszka
Zakręcona Traszka
Posty: 592
Rejestracja: 23 cze 2009, 20:34
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Środowisko graficzne: Xfce
Architektura: x86_64
Kontakt:

Odp: [java]Zapisywanie tablicy do pliku tekstowego

Post autor: kabanek »

domyślam się, że chodzi o wyjątek w wypadku, gdy pliku nie będzie na dysku - musisz wtedy obsłużyć wyjątek. Czyli jak się domyślam w jednym miejscu trzeba będzie dodać blok try - catch
bulva
Sędziwy Jeż
Sędziwy Jeż
Posty: 60
Rejestracja: 28 wrz 2009, 12:40
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [java]Zapisywanie tablicy do pliku tekstowego

Post autor: bulva »

Dziękuję. Działający kod, może się komuś przyda:

Kod: Zaznacz cały

  public static void saveArray(String filename, int[][] output) {
	  try{
 PrintWriter pri = new PrintWriter(filename);
		for (int row =0;row<output.length;row++){
	for (int col=0;col<output[row].length;col++){
	pri.print(output[row][col] +" ");	
		}
		pri.print("\n");		
	}
  pri.close();
		}
		
	catch (Exception e) {
            e.printStackTrace();
        }			
}
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 23 gości