ArrayListをテキストファイルに保存する

マシュー・ケルセイ

ArrayListを取得してファイルに保存しようとしています。テキストファイルを作成していることがわかりますが、テキストファイル内には何も配置されておらず、空白になっています。

これは、保存するオプションを備えたArrayList、Switchのメインコードです。

static int input, selection, i = 1;
static ArrayList<Animals> a;

// Main Method
public static void main(String[] args){

    // Create an ArrayList that holds different animals
    a = new ArrayList<>();
    a.add(new Animals(i++, "Bear", "Vertebrate", "Mammal"));
    a.add(new Animals(i++, "Snake", "Invertebrate", "Reptile"));
    a.add(new Animals(i++, "Dog", "Vertebrate", "Mammal"));
    a.add(new Animals(i++, "Starfish", "Invertebrates", "Fish"));

    while (true) {
        try {
            System.out.println("\nWhat would you like to do?");
            System.out.println("1: View List\n2: Delete Item\n3: Add Item\n4: Edit Item\n5: Save File\n0: Exit");
            selection = scanner.nextInt();
            if(selection != 0){
                switch (selection) {
                    case 1:
                        ViewList.view();
                        Thread.sleep(4000);
                        break;
                    case 2:
                        Delete.deleteItem();
                        Thread.sleep(4000);
                        break;
                    case 3:
                        Add.addItem();
                        Thread.sleep(4000);
                        break;
                    case 4:
                        Edit.editItem();
                        Thread.sleep(4000);
                        break;
                    case 5:
                        Save.saveToFile("animals.txt", a);
                        Thread.sleep(4000);
                        break;

これは私がファイルを処理するために書いたものです。

import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;

public class Save extends ALProgram{
     public static void saveToFile(String fileName, ArrayList list){
            Path filePath = Paths.get(fileName);
            try{
                System.out.println("File Saved");
                Files.write(filePath, list, Charset.defaultCharset());
            }catch(IOException e){
                e.printStackTrace();
            }

     }
}

これが動物のクラスです

class Animals {

public int id;
public String type, vertebrate, aclass;

public Animals(int id, String type, String vertebrate, String aclass) {
    this.id = id;
    this.type = type;
    this.vertebrate = vertebrate;
    this.aclass = aclass;

}

public int getID() {
    return id;
}

public String getType() {
    return type;
}

public String getVert() {
    return vertebrate;
}

public String getaclass() {
    return aclass;
}

}
Gaurava Agarwal

2つの変更があります。

  1. Files.writeに渡される資格を得るには、クラスでCharSequenceを実装する必要があります。
  2. 保存時にコンテンツがどのように表示されるかを指定するには、toStringメソッドをオーバーライドする必要があります。上記の2つの変更後の出力を確認できます。

        class Animals implements CharSequence {
    
            public int id;
            public String type, vertebrate, aclass;
    
    public Animals(int id,String type,String vertebrate,String aclass) {
    this.id = id;
    this.type = type;
    this.vertebrate = vertebrate;
                this.aclass = aclass;
            }
    
            public int getID() {
                return id;
            }
    
            public String getType() {
                return type;
            }
    
            public String getVert() {
                return vertebrate;
            }
    
            public String getaclass() {
                return aclass;
            }
    
            @Override
            public int length() {
                return toString().length();
            }
    
            @Override
            public char charAt(int index) {
                return toString().charAt(index);
            }
    
            @Override
            public CharSequence subSequence(int start, int end) {
                return toString().subSequence(start, end);
            }
    
            /* (non-Javadoc)
             * @see java.lang.Object#toString()
             */
            @Override
            public String toString() {
                return "Animals [id=" + id + ", type=" + type + ", vertebrate=" + vertebrate + ", aclass=" + aclass + "]";
            }
    
    
            }
    

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

テキストファイルを Arraylist に分解する - Java

分類Dev

gitcommitをテキストファイルに保存する

分類Dev

ScalaのテキストファイルにRDDを保存する

分類Dev

ipython変数をテキストファイルに保存する

分類Dev

ipython変数をテキストファイルに保存する

分類Dev

Dockerの出力をテキストファイルに保存する

分類Dev

印刷値をテキストファイルに保存するpython

分類Dev

変数をテキストファイルに保存する

分類Dev

テキストファイルを特定のフォルダに保存する方法

分類Dev

AndroidデバイスでLogcatをテキストファイルに保存する

分類Dev

テキストファイルを解析してリストに保存する

分類Dev

マトリックスをテキストファイルに保存する方法

分類Dev

テキストファイルに保存する文字列を難読化する

分類Dev

フラットファイルのテキストボックスにテキストを保存する方法は?

分類Dev

JSONをローカルテキストファイルに保存する方法

分類Dev

スピナーの位置をテキストファイルに保存する

分類Dev

テキストボックスの内容をファイルに保存する方法

分類Dev

SFTP経由でファイルのリストをテキストファイルに保存する

分類Dev

./a.outの結果をテキストファイルに保存する方法

分類Dev

入力をテキストファイルから配列に保存する

分類Dev

テキストファイルをブロックに分割して保存する

分類Dev

Python画面の出力をテキストファイルに保存する方法

分類Dev

Herokuログをテキストファイルに保存する方法

分類Dev

キュウリのテスト結果をファイルに保存する方法

分類Dev

分割されたテキストをExcelファイルに保存する方法は?

分類Dev

テキストファイルの内容を配列に保存する

分類Dev

抽出したデータをテキストファイルに保存する方法

分類Dev

2Dnumpy配列をテキストファイルに保存する方法

分類Dev

辞書をテキストファイルに保存するpython3

Related 関連記事

  1. 1

    テキストファイルを Arraylist に分解する - Java

  2. 2

    gitcommitをテキストファイルに保存する

  3. 3

    ScalaのテキストファイルにRDDを保存する

  4. 4

    ipython変数をテキストファイルに保存する

  5. 5

    ipython変数をテキストファイルに保存する

  6. 6

    Dockerの出力をテキストファイルに保存する

  7. 7

    印刷値をテキストファイルに保存するpython

  8. 8

    変数をテキストファイルに保存する

  9. 9

    テキストファイルを特定のフォルダに保存する方法

  10. 10

    AndroidデバイスでLogcatをテキストファイルに保存する

  11. 11

    テキストファイルを解析してリストに保存する

  12. 12

    マトリックスをテキストファイルに保存する方法

  13. 13

    テキストファイルに保存する文字列を難読化する

  14. 14

    フラットファイルのテキストボックスにテキストを保存する方法は?

  15. 15

    JSONをローカルテキストファイルに保存する方法

  16. 16

    スピナーの位置をテキストファイルに保存する

  17. 17

    テキストボックスの内容をファイルに保存する方法

  18. 18

    SFTP経由でファイルのリストをテキストファイルに保存する

  19. 19

    ./a.outの結果をテキストファイルに保存する方法

  20. 20

    入力をテキストファイルから配列に保存する

  21. 21

    テキストファイルをブロックに分割して保存する

  22. 22

    Python画面の出力をテキストファイルに保存する方法

  23. 23

    Herokuログをテキストファイルに保存する方法

  24. 24

    キュウリのテスト結果をファイルに保存する方法

  25. 25

    分割されたテキストをExcelファイルに保存する方法は?

  26. 26

    テキストファイルの内容を配列に保存する

  27. 27

    抽出したデータをテキストファイルに保存する方法

  28. 28

    2Dnumpy配列をテキストファイルに保存する方法

  29. 29

    辞書をテキストファイルに保存するpython3

ホットタグ

アーカイブ