Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2012, 13:24   #1
Стремящийся
Форумчанин
 
Аватар для Стремящийся
 
Регистрация: 01.11.2011
Сообщений: 172
По умолчанию Запись массива в файл

Всем привет!
Ребята, не могу понять где ошибка. Пытаюсь записать массив в файл.
метод записи вот
Код:
public void WriteFile() throws IOException
    {
        CreateArray();
        
        try (FileWriter filewriter = new FileWriter("Test.txt")) {
            for (int i=0;i<3;++i)
                for (int j=0;j<3;++j)
                    filewriter.write(massiv[i][j]);
                    filewriter.flush();
                
        }
    }
На всякий случай привожу весь код
Код:
package test;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
 
/**
 *
 * @author Ноут
 */
public class Test {
    private int[][] massiv;
    File file = new File("Test.txt");
    public Test() throws IOException
    {
        file.createNewFile();
        massiv = new int[3][3];
        CreateArray();
    }
     private void CreateArray()
     {
         for (int i=0;i<3;++i)
            for (int j=0;j<3;++j)
                massiv[i][j] = 1;
     }
     public void WriteFile() throws IOException
    {
        CreateArray();
        
        try (FileWriter filewriter = new FileWriter("Test.txt")) {
            for (int i=0;i<3;++i)
                for (int j=0;j<3;++j)
                    filewriter.write(massiv[i][j]);
                    filewriter.flush();
                
        }
    }
     public void ReadFile() throws FileNotFoundException, IOException
    {
        
        Scanner scannerfile = new Scanner(file);
        for(int i=0;i<3;++i)
        {
            for (int j=0;j<3;++j)
            {
                if(scannerfile.hasNextInt())
                   massiv[i][j]=scannerfile.nextInt();
            }
                 
        }
        System.out.print("Введенный массив\n");
        for(int i=0;i<3;++i)
        {
            for (int j=0;j<3;++j)
            {
                System.out.print(massiv[i][j] + " ");
            }
            System.out.print("\n");
        }
       
    }
    public static void main(String[] args) throws IOException 
    {
        Test test = new Test();
 
      
        test.WriteFile();
    }
}
Заранее спасибо!
Желание тысяча возможностей, нежелание - тысяча причин
Стремящийся вне форума Ответить с цитированием
Старый 26.06.2012, 14:09   #2
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

А можно текст ошибки,и строку на которой она вылетает?
MeTeOpA вне форума Ответить с цитированием
Старый 26.06.2012, 14:11   #3
Стремящийся
Форумчанин
 
Аватар для Стремящийся
 
Регистрация: 01.11.2011
Сообщений: 172
По умолчанию

Ошибки нет, в файл ничего не записывется
Желание тысяча возможностей, нежелание - тысяча причин
Стремящийся вне форума Ответить с цитированием
Старый 26.06.2012, 14:21   #4
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

добавьте B main :

test.readFile();

и посмотрите на консоль.
MeTeOpA вне форума Ответить с цитированием
Старый 26.06.2012, 14:33   #5
Стремящийся
Форумчанин
 
Аватар для Стремящийся
 
Регистрация: 01.11.2011
Сообщений: 172
По умолчанию

чтение происходит нормально
Желание тысяча возможностей, нежелание - тысяча причин
Стремящийся вне форума Ответить с цитированием
Старый 26.06.2012, 14:39   #6
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

стало быть и запись Дело в том что блокнот не воспринимает кодировку которую мы записываем в файл. И поэтому вы видите вместо "нормальных" символов закарлючки.
MeTeOpA вне форума Ответить с цитированием
Старый 26.06.2012, 14:42   #7
Стремящийся
Форумчанин
 
Аватар для Стремящийся
 
Регистрация: 01.11.2011
Сообщений: 172
По умолчанию

Перед чтением я не записываю в файл методом, а в файле прописываю массив и вызываю метод чтения из файла. Закарлючек нет.
Желание тысяча возможностей, нежелание - тысяча причин
Стремящийся вне форума Ответить с цитированием
Старый 26.06.2012, 14:50   #8
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

>вызываю метод чтения из файла
"взрыв мозга"
Перед чтением вы как раз и записываете в файл информацию. Это видно из метода main :

test.WriteFile();
test.ReadFile();

Вы не можете прочитать не существующий файл)
MeTeOpA вне форума Ответить с цитированием
Старый 26.06.2012, 14:57   #9
Стремящийся
Форумчанин
 
Аватар для Стремящийся
 
Регистрация: 01.11.2011
Сообщений: 172
По умолчанию

Уважаемый MeTeOpA, где вы узрели в main
Код:
test.ReadFile();
?
Вы правы! Файл создается
Желание тысяча возможностей, нежелание - тысяча причин

Последний раз редактировалось Стремящийся; 26.06.2012 в 15:03.
Стремящийся вне форума Ответить с цитированием
Старый 26.06.2012, 15:18   #10
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

А не эту ли строчку я посоветовал вам дописать, дабы продебажить апликейшен?:
MeTeOpA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сканирование и запись массива в файл dimon9 Общие вопросы C/C++ 1 29.12.2011 22:09
Запись массива в файл WIN32APIist Общие вопросы C/C++ 5 03.01.2011 01:38
Запись двумерного массива в файл rusasha Паскаль, Turbo Pascal, PascalABC.NET 7 03.05.2010 14:03
запись массива в файл lel-lis Общие вопросы C/C++ 6 25.01.2010 17:46
запись массива в файл Владимир1988 Помощь студентам 3 19.01.2010 09:25