Как записать содержимое массива в файл? - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь сохранить содержимое двух списков массивов, одного типа integer и строки типа, в файл для школьного проекта.вот что у меня сейчас ... имейте в виду, что имена переменных для списков массивов - это список для строкового массива и listquanity для целочисленного массива

case ("6"):  
            {
           final String FNAME = ("C:\\Users\\Neil\\Documents\\Eclipse Workspace\\Final Project Market Stocks\\stocks.txt");

            PrintWriter bw = null;
            try 
            {
                bw = new PrintWriter(new File(FNAME));
                for (int g = 0; g<= list.length(); g++){
                    Printwriter.write();
                }

            }catch (IOException e) {
                e.printStackTrace ();
            }finally{
                if (bw != null){
                    bw.flush();
                    bw.close();
                }
            }
        }


        System.out.println("Saving...");                
        //System.exit(0);   
        break;

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Вы создали экземпляр класса PrintWriter с именем bw, и теперь вы хотите написать что-нибудь с ним.Вам нужно использовать write() или любой метод с этим экземпляром.Например: bw.write("String").Я предлагаю вам использовать методы print() и println(), поскольку они работают так же, как методы из System.out.println(), с которыми вы должны быть знакомы.

Код для печати может выглядеть следующим образом:

for (int i = 0; i < list.length(); i++){
    bw.println(list[i] + ", " + listquanity[i]);
}

Надеюсь, это поможет вам!Удачи!

РЕДАКТИРОВАТЬ: если вы хотите использовать ArrayList, это будет выглядеть так:

for (int i = 0; i < list.length(); i++){
    bw.println(list.get(i) + ", " + listquanity.get(i));
}

Единственное отличие здесь заключается в том, что нам нужно использовать get() метод ArrayListчтобы получить доступ к Элементу.

0 голосов
/ 14 декабря 2018

Вам нужно вызвать метод write() в вашем экземпляре, это не статический метод, и передать ему различные значения ваших массивов:

for (int g = 0; g < list.length(); g++){
    bw.write(list.get(g));
    bw.write(" ");
    bw.write(listquanity.get(g));
    bw.write("\n");
}
...