簡體   English   中英

在Java中將文本文件讀入char數組

[英]Reading text file into a char array in Java

我正在讀取一個文本文件並試圖通過char將其存儲到數組char中。 我的方法(下面)預先定義了一個初始長度為100000的char數組(這是我的主要問題)。 因此,如果文件包含的字符數少於該數量(如果字符數多於此數字也會出現問題),那么我的數組中就會出現空值。 我想避免這種情況。 有沒有辦法預先確定文本文件中的字符數量? 或者是否有一個更好的方法來存儲char的文件char?

char buf[] = new char[100000];
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
br.read(buf);
for(int i = 0; i < buf.length; i++)
{
     //Do stuff here
}

使用CharacterList of Characters接受值。 之后將ArrayList轉換為數組

 char[] resultArray = list.toArray(new char[list.size()]);

您應該使用br.readLine()而不是br.read(),如下所示:

String str;
while((str = br.readLine())!=null){
        str.tocharArray();
}

請改用掃描儀!

我會使用掃描儀並通過char讀取行而不是char,然后將其存儲為字符串。 如果你真的想要一個char數組,那么之后就更容易把它拿出來了。

這在功能上做同樣的事情:

String theString = "";

File file = new File("data.txt");
Scanner scanner = new Scanner(file);

theString = scanner.nextLine();
while (scanner.hasNextLine()) {
       theString = theString + "\n" + scanner.nextLine();
}

char[] charArray = theString.toCharArray();

這樣做的好處是你可以利用Java的String類型來處理所有令人討厭的長度和連接業務。 並且內置了String.toCharArray()方法以返回一個自動調整大小的數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM