程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> arraylist-不能在文件中寫入新的行

arraylist-不能在文件中寫入新的行

編輯:編程綜合問答
不能在文件中寫入新的行

我想把一串字符串寫入一個文件中:

private void writeScoreToFile(BlastScore result)
    {
        try{
            FileWriter fstream = new FileWriter(getFilesDir() + CaptureActivity.BLAST_SCORES,true);
            BufferedWriter out = new BufferedWriter(fstream);
            out.write(Integer.toString(result.getBlastScore()));
            out.close();
        }catch (Exception e){
            System.err.println("Write Error: " + e.getMessage());
        }
    }

我想把它再作為一個列表讀出來。

private List<String> getArrayFromFile(String filename) throws IOException
    {
        FileReader fileReader = new FileReader(getFilesDir() + filename);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        List<String> lines = new ArrayList<String>();
        String line = null;
        while ((line = bufferedReader.readLine()) != null) {
            lines.add(line);
        }
        bufferedReader.close();
        return lines;
    }

寫入列表中的是:

100
96
100
96
100

打印出的列表卻是這樣的:

02-26 21:22:31.130: I/System.out(936): Last Score: 1009610096100

打印列表用的是下面的代碼:

try {
            List<String> blastScores = getArrayFromFile(CaptureActivity.BLAST_SCORES);
            System.out.println("Last Score: " + blastScores.get(blastScores.size()-1));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            System.err.println("Read Error: " + e.getMessage());
        }

請求大家幫忙改正,謝謝。

最佳回答:


當你輸入的是整型或整型字符串,每次輸出後,你沒有輸入一個新的行。因此,你的文件中只有一行數據,就是你作為一個連續字符串的那行。
所以作為修復,在單獨的 write() 調用中,添加像 write.newLine() 一行分隔符。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved