我正在使用BufferedReader从txt文件中读取数字进行分析.我现在的方式是 - 使用.readline读取一行,使用.split将此字符串拆分为一个字符串数组
public InputFile () {
fileIn = null;
//stuff here
fileIn = new FileReader((filename + ".txt"));
buffIn = new BufferedReader(fileIn);
return;
//stuff here
}
Run Code Online (Sandbox Code Playgroud)
public String ReadBigStringIn() {
String line = null;
try { line = buffIn.readLine(); }
catch(IOException e){};
return line;
}
Run Code Online (Sandbox Code Playgroud)
public ProcessMain() {
initComponents();
String[] stringArray;
String line;
try {
InputFile stringIn = new InputFile();
line = stringIn.ReadBigStringIn();
stringArray = line.split("[^0-9.+Ee-]+");
// analysis etc.
}
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但如果txt文件有多行文本怎么办?有没有办法输出一个长字符串,或者可能是另一种方法呢?也许用while(buffIn.readline != null) {}?不知道如何实现这一点.
感谢赞赏,谢谢.
我正在创建一个文件阅读程序.我需要过滤掉任何不是'0-9'或'.'的字符.
除了这些之外的任何字符都需要触发IF语句.
这是我试过的 -
if ( ( ((char)c < '0') || ((char)c > '9') ) || ((char)c != '.') )
Run Code Online (Sandbox Code Playgroud)
要么-
( ( ((char)c != '0' ) || ((char)c != '.' ) || ((char)c != '1' ) || ((char)c != '2' ) || ((char)c != '3' ) || ((char)c != '4' ) || ((char)c != '5' ) || ((char)c != '6' ) || ((char)c != '7' ) || ((char)c != '8' ) || ((char)c != '9' ) ))
Run Code Online (Sandbox Code Playgroud)
两者都不起作用.