[英]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.